summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/usb_request.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/usb/usb_request.c')
-rw-r--r--sys/dev/usb/usb_request.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/dev/usb/usb_request.c b/sys/dev/usb/usb_request.c
index f601154..57bd968 100644
--- a/sys/dev/usb/usb_request.c
+++ b/sys/dev/usb/usb_request.c
@@ -228,6 +228,7 @@ usb_do_clear_stall_callback(struct usb_xfer *xfer, usb_error_t error)
struct usb_endpoint *ep;
struct usb_endpoint *ep_end;
struct usb_endpoint *ep_first;
+ usb_stream_t x;
uint8_t to;
udev = xfer->xroot->udev;
@@ -255,9 +256,11 @@ tr_transferred:
ep->is_stalled = 0;
/* some hardware needs a callback to clear the data toggle */
usbd_clear_stall_locked(udev, ep);
- /* start up the current or next transfer, if any */
- usb_command_wrapper(&ep->endpoint_q,
- ep->endpoint_q.curr);
+ for (x = 0; x != USB_MAX_EP_STREAMS; x++) {
+ /* start the current or next transfer, if any */
+ usb_command_wrapper(&ep->endpoint_q[x],
+ ep->endpoint_q[x].curr);
+ }
}
ep++;
OpenPOWER on IntegriCloud