diff options
author | Gary Robertson <gary.robertson@linaro.org> | 2013-10-31 17:57:05 -0700 |
---|---|---|
committer | Gary Robertson <gary.robertson@linaro.org> | 2013-10-31 17:57:05 -0700 |
commit | b7fbb07e1d6744e87079a12dc29f7c2fb8205c26 (patch) | |
tree | e51ff461b46a470c81d62c6d86853187646624c3 /drivers/usb/host/uhci-q.c | |
parent | 4da2c19b694dd0e5932cee3eeb40df3e637628cc (diff) | |
parent | cac65253a9c5a30d4c8d7bc4c60197935f9e2e70 (diff) |
Merge tag 'v3.10.15' of git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable into linux-lnglinux-lng-v3.10.15-final
This is the 3.10.15 stable release
Diffstat (limited to 'drivers/usb/host/uhci-q.c')
-rw-r--r-- | drivers/usb/host/uhci-q.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/usb/host/uhci-q.c b/drivers/usb/host/uhci-q.c index 041c6ddb695c..da6f56d996ce 100644 --- a/drivers/usb/host/uhci-q.c +++ b/drivers/usb/host/uhci-q.c @@ -1303,7 +1303,7 @@ static int uhci_submit_isochronous(struct uhci_hcd *uhci, struct urb *urb, } /* Fell behind? */ - if (uhci_frame_before_eq(frame, next)) { + if (!uhci_frame_before_eq(next, frame)) { /* USB_ISO_ASAP: Round up to the first available slot */ if (urb->transfer_flags & URB_ISO_ASAP) @@ -1311,13 +1311,17 @@ static int uhci_submit_isochronous(struct uhci_hcd *uhci, struct urb *urb, -qh->period; /* - * Not ASAP: Use the next slot in the stream. If - * the entire URB falls before the threshold, fail. + * Not ASAP: Use the next slot in the stream, + * no matter what. */ else if (!uhci_frame_before_eq(next, frame + (urb->number_of_packets - 1) * qh->period)) - return -EXDEV; + dev_dbg(uhci_dev(uhci), "iso underrun %p (%u+%u < %u)\n", + urb, frame, + (urb->number_of_packets - 1) * + qh->period, + next); } } |