Re: [PATCH] usbfs: Increase arbitrary limit for USB 3 isopkt length

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 05/24/2013 03:51 PM, Alan Stern wrote:
diff --git a/drivers/usb/core/devio.c b/drivers/usb/core/devio.c
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;
  			}
A couple of suggestions for improvements:

First, new or updated multi-line comments should follow the accepted
formatting standard:

	/*
	 * Start comment here...
	 * and end here.
	 */
ok, I change the comment in the suggested way
Second, it's confusing for the comment to mention that the limit is
49152 and the code to set the limit to 65536.  They should agree on a
single value (probably 49152).

In 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? So I wrote a limit some more big and round, but I agree with you the best way is write the correct limit, so I modify in this way, soon.

Federico Manzan

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux