If you want me to i can test it tonight to see if it does correct the problem for which i initially posted. I'll let you know if it does. Bye Le lun 05/04/2004 à 20:40, David Brownell a écrit : > areversat wrote: > > Hi, I'd like to know why the patch didn't get included in the 2.6.5 is > > it the lack of time or anything else ? > > Nobody confirmed that it actually did the right thing... > > But I was going to dig it up and forward it to Greg > for the 2.6.6-pre patches (and 2.6.5-mm), since it > looks right. > > - Dave > > > > Thanks, > > > > Antoine REVERSAT aka Crevetor > > Le jeu 18/03/2004 à 00:08, David Brownell a écrit : > > > >>Olaf Hering wrote: > >> > >>> On Wed, Mar 17, David Brownell wrote: > >> > >>>>Actually what's needed is a _correct_ patch ... that's been > >>>>the holdup all along. All endpoint transfer intervals use > >>>>a log2 encoding, except full/low speed interrupt transfers. > >>>> > >>>>The attached patch should be correct. > >>> > >>> > >>>zero size patch? I love these :) > >> > >>Ah, right filename from wrong kernel tree. Whoops! Here it is. > >> > >> > >>______________________________________________________________________ > >>--- 1.55/drivers/usb/core/devio.c Fri Dec 5 14:42:24 2003 > >>+++ edited/drivers/usb/core/devio.c Wed Mar 17 13:46:17 2004 > >>@@ -837,6 +837,9 @@ > >> /* arbitrary limit */ > >> if (uurb.number_of_packets < 1 || uurb.number_of_packets > 128) > >> return -EINVAL; > >>+ if (!(ep_desc = usb_epnum_to_ep_desc(ps->dev, uurb.endpoint))) > >>+ return -ENOENT; > >>+ interval = (1 << (min ((u8)16,ep_desc->bInterval) - 1)); > >> isofrmlen = sizeof(struct usbdevfs_iso_packet_desc) * > >> uurb.number_of_packets; > >> if (!(isopkt = kmalloc(isofrmlen, GFP_KERNEL))) > >> return -ENOMEM; > >>@@ -862,7 +865,10 @@ > >> uurb.number_of_packets = 0; > >> if (!(ep_desc = usb_epnum_to_ep_desc(ps->dev, uurb.endpoint))) > >> return -ENOENT; > >>- interval = ep_desc->bInterval; > >>+ if (ps->dev->speed == USB_SPEED_HIGH) > >>+ interval = (1 << (min ((u8)16,ep_desc->bInterval) - 1)); > >>+ else > >>+ interval = ep_desc->bInterval; > >> if (uurb.buffer_length > 16384) > >> return -EINVAL; > >> if (!access_ok((uurb.endpoint & USB_DIR_IN) ? VERIFY_WRITE : > >> VERIFY_READ, uurb.buffer, uurb.buffer_length)) -- Pour trouver les limites du possible il faut tenter l'impossible.
signature.asc
Description: Ceci est une partie de message =?ISO-8859-1?Q?num=E9riquement?= =?ISO-8859-1?Q?_sign=E9e=2E?=