From: Thomas Pugliese Date: Mon, 9 Dec 2013 19:45:43 +0000 (-0600) Subject: usb: core: allow isoc URBs for wireless devices with an interval < 6 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=a2cd612dc9be768b516541b2164c843849bc3bb3;p=linux-beck.git 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 Signed-off-by: Greg Kroah-Hartman --- 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) /* too small? */ switch (dev->speed) { case USB_SPEED_WIRELESS: - if (urb->interval < 6) + if ((urb->interval < 6) + && (xfertype == USB_ENDPOINT_XFER_INT)) return -EINVAL; - break; default: if (urb->interval <= 0) return -EINVAL;