]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
usb: devio: update max count of DPs per interval for ISOC
authorChunfeng Yun <chunfeng.yun@mediatek.com>
Wed, 2 Jan 2019 01:33:56 +0000 (09:33 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 7 Jan 2019 16:35:00 +0000 (17:35 +0100)
The failure happened when I tried to send up to 96DPs per an interval
for SSP ISOC transations by libusb, this is used to verify SSP ISOC
function of USB3 GEN2 controller, so update it as 96DPs.
(refer usb3.1r1.0 section 8.12.6 Isochronous Transactions)

Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/core/devio.c

index d65566341dd1c941932df3cb43b9675ed83f015c..a12f2ce8df9048e0944f1695cdbe4809f70c4915 100644 (file)
@@ -1564,12 +1564,10 @@ static int proc_do_submiturb(struct usb_dev_state *ps, struct usbdevfs_urb *uurb
                }
                for (totlen = u = 0; u < number_of_packets; u++) {
                        /*
-                        * 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
+                        * arbitrary limit need for USB 3.1 Gen2
+                        * sizemax: 96 DPs at SSP, 96 * 1024 = 98304
                         */
-                       if (isopkt[u].length > 49152) {
+                       if (isopkt[u].length > 98304) {
                                ret = -EINVAL;
                                goto error;
                        }