diff options
author | Thomas Pugliese <thomas.pugliese@gmail.com> | 2013-12-09 14:45:43 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-12-09 16:27:32 -0500 |
commit | a2cd612dc9be768b516541b2164c843849bc3bb3 (patch) | |
tree | 0e8d33b0757e383f5517f96c62a2d076de2f6bc1 /drivers/usb/core/urb.c | |
parent | 7005234c18f233d3613b09e9ce4b6ce6977bf246 (diff) |
usb: core: allow isoc URBs for wireless devices with an interval < 6
In usb_submit_urb, do not fail if an isoc URB for a wireless USB device
has an interval < 6. Per WUSB spec, isoc endpoints can support values
from 1-16. Valid values for interrupt URBs for wireless USB devices are
still 6-16.
Signed-off-by: Thomas Pugliese <thomas.pugliese@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/core/urb.c')
-rw-r--r-- | drivers/usb/core/urb.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/usb/core/urb.c b/drivers/usb/core/urb.c index e62208356c89..07c58af6b5c0 100644 --- a/drivers/usb/core/urb.c +++ b/drivers/usb/core/urb.c | |||
@@ -492,9 +492,9 @@ int usb_submit_urb(struct urb *urb, gfp_t mem_flags) | |||
492 | /* too small? */ | 492 | /* too small? */ |
493 | switch (dev->speed) { | 493 | switch (dev->speed) { |
494 | case USB_SPEED_WIRELESS: | 494 | case USB_SPEED_WIRELESS: |
495 | if (urb->interval < 6) | 495 | if ((urb->interval < 6) |
496 | && (xfertype == USB_ENDPOINT_XFER_INT)) | ||
496 | return -EINVAL; | 497 | return -EINVAL; |
497 | break; | ||
498 | default: | 498 | default: |
499 | if (urb->interval <= 0) | 499 | if (urb->interval <= 0) |
500 | return -EINVAL; | 500 | return -EINVAL; |