diff options
Diffstat (limited to 'drivers/usb/host/uhci-q.c')
-rw-r--r-- | drivers/usb/host/uhci-q.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/usb/host/uhci-q.c b/drivers/usb/host/uhci-q.c index 66c3f61bc9d1..431e8f31f1a9 100644 --- a/drivers/usb/host/uhci-q.c +++ b/drivers/usb/host/uhci-q.c | |||
@@ -372,7 +372,7 @@ static void uhci_fixup_toggles(struct uhci_qh *qh, int skip_first) | |||
372 | * need to change any toggles in this URB */ | 372 | * need to change any toggles in this URB */ |
373 | td = list_entry(urbp->td_list.next, struct uhci_td, list); | 373 | td = list_entry(urbp->td_list.next, struct uhci_td, list); |
374 | if (toggle > 1 || uhci_toggle(td_token(td)) == toggle) { | 374 | if (toggle > 1 || uhci_toggle(td_token(td)) == toggle) { |
375 | td = list_entry(urbp->td_list.next, struct uhci_td, | 375 | td = list_entry(urbp->td_list.prev, struct uhci_td, |
376 | list); | 376 | list); |
377 | toggle = uhci_toggle(td_token(td)) ^ 1; | 377 | toggle = uhci_toggle(td_token(td)) ^ 1; |
378 | 378 | ||
@@ -1348,7 +1348,7 @@ static void uhci_scan_qh(struct uhci_hcd *uhci, struct uhci_qh *qh, | |||
1348 | } | 1348 | } |
1349 | 1349 | ||
1350 | uhci_giveback_urb(uhci, qh, urb, regs); | 1350 | uhci_giveback_urb(uhci, qh, urb, regs); |
1351 | if (status < 0) | 1351 | if (status < 0 && qh->type != USB_ENDPOINT_XFER_ISOC) |
1352 | break; | 1352 | break; |
1353 | } | 1353 | } |
1354 | 1354 | ||