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.

Attachment: signature.asc
Description: Ceci est une partie de message =?ISO-8859-1?Q?num=E9riquement?= =?ISO-8859-1?Q?_sign=E9e=2E?=



Reply via email to