diff --git a/[refs] b/[refs] index 4b2816a24f88..14686e58e377 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5cbfa3acdcbf19e1d29cf3479ad8200d2e644e44 +refs/heads/master: e2e2f0ea1c935edcf53feb4c4c8fdb4f86d57dd9 diff --git a/trunk/drivers/usb/core/devio.c b/trunk/drivers/usb/core/devio.c index caefc800f298..c88c4fb9459d 100644 --- a/trunk/drivers/usb/core/devio.c +++ b/trunk/drivers/usb/core/devio.c @@ -1287,9 +1287,13 @@ static int proc_do_submiturb(struct dev_state *ps, struct usbdevfs_urb *uurb, goto error; } for (totlen = u = 0; u < uurb->number_of_packets; u++) { - /* arbitrary limit, - * sufficient for USB 2.0 high-bandwidth iso */ - if (isopkt[u].length > 8192) { + /* + * arbitrary limit need for USB 3.0 + * bMaxBurst (0~15 allowed, 1~16 packets) + * bmAttributes (bit 1:0, mult 0~2, 1~3 packets) + * sizemax: 1024 * 16 * 3 = 49152 + */ + if (isopkt[u].length > 49152) { ret = -EINVAL; goto error; }