Commit a2cd612d authored by Thomas Pugliese's avatar Thomas Pugliese Committed by Greg Kroah-Hartman

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: default avatarThomas Pugliese <thomas.pugliese@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 7005234c
...@@ -492,9 +492,9 @@ int usb_submit_urb(struct urb *urb, gfp_t mem_flags) ...@@ -492,9 +492,9 @@ int usb_submit_urb(struct urb *urb, gfp_t mem_flags)
/* too small? */ /* too small? */
switch (dev->speed) { switch (dev->speed) {
case USB_SPEED_WIRELESS: case USB_SPEED_WIRELESS:
if (urb->interval < 6) if ((urb->interval < 6)
&& (xfertype == USB_ENDPOINT_XFER_INT))
return -EINVAL; return -EINVAL;
break;
default: default:
if (urb->interval <= 0) if (urb->interval <= 0)
return -EINVAL; return -EINVAL;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment