ok, I change the comment in the suggested waydiff --git a/drivers/usb/core/devio.c b/drivers/usb/core/devio.cA couple of suggestions for improvements:
index caefc80..7ac137e 100644
--- a/drivers/usb/core/devio.c
+++ b/drivers/usb/core/devio.c
@@ -1287,9 +1287,11 @@ 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> 65536) {
ret = -EINVAL;
goto error;
}
First, new or updated multi-line comments should follow the accepted
formatting standard:
/*
* Start comment here...
* and end here.
*/
Second, it's confusing for the comment to mention that the limit isIn the USB 2 isochronous the limit is 1024 byte x 3 pkts = 3072, but in the code is write 8192. I don't understand why, for the memory page size? for have a tolerant limits? for rounding to a nice number?
49152 and the code to set the limit to 65536. They should agree on a
single value (probably 49152).