diff options
author | Mark Brown <broonie@linaro.org> | 2013-10-17 00:16:41 +0400 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2013-10-17 00:16:41 +0400 |
commit | 381bd9517a7e611871694689c67901d189cf6a62 (patch) | |
tree | 7f9492cbbb93039ef84722e518e2ca6e8ad0c364 /drivers/usb/host/imx21-hcd.c | |
parent | 01b9e0418689951c6ae4ba3b221bc42f49eb6407 (diff) | |
parent | f6bd03a746271f298aa5bfb6e049b245757efaed (diff) | |
download | linux-381bd9517a7e611871694689c67901d189cf6a62.tar.xz |
Merge remote-tracking branch 'spi/topic/trivial' into spi-atmel
Conflicts (trivial overlapping cleanups):
drivers/spi/spi-atmel.c
Diffstat (limited to 'drivers/usb/host/imx21-hcd.c')
-rw-r--r-- | drivers/usb/host/imx21-hcd.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/usb/host/imx21-hcd.c b/drivers/usb/host/imx21-hcd.c index 60a5de505ca1..adb01d950a16 100644 --- a/drivers/usb/host/imx21-hcd.c +++ b/drivers/usb/host/imx21-hcd.c @@ -824,13 +824,13 @@ static int imx21_hc_urb_enqueue_isoc(struct usb_hcd *hcd, i = DIV_ROUND_UP(wrap_frame( cur_frame - urb->start_frame), urb->interval); - if (urb->transfer_flags & URB_ISO_ASAP) { + + /* Treat underruns as if URB_ISO_ASAP was set */ + if ((urb->transfer_flags & URB_ISO_ASAP) || + i >= urb->number_of_packets) { urb->start_frame = wrap_frame(urb->start_frame + i * urb->interval); i = 0; - } else if (i >= urb->number_of_packets) { - ret = -EXDEV; - goto alloc_dmem_failed; } } } |