Messages in this thread | | | Date | Fri, 24 May 2013 17:36:10 +0200 | From | Federico Manzan <> | Subject | Re: [PATCH] usbfs: Increase arbitrary limit for USB 3 isopkt length |
| |
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
| |