diff --git a/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c b/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c --- a/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c +++ b/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c @@ -825,8 +825,6 @@ case USB_ST_SETUP: submit_next: - /* Try clear stall first */ - usbd_xfer_set_stall(xfer); usbd_xfer_set_frame_len(xfer, 0, usbd_xfer_max_len(xfer)); usbd_transfer_submit(xfer); break; @@ -835,6 +833,8 @@ if (error != USB_ERR_CANCELLED) { printf("ng_ubt: interrupt transfer failed: %s\n", usbd_errstr(error)); + /* Try clear stall first */ + usbd_xfer_set_stall(xfer); goto submit_next; } break;