I'd like to know how this usb patch is going ? Is there still a lot to do or will it be ready for 2.6.4 ? We'd like to know. Thanks Antoine REVERSAT
Le sam 27/12/2003 à 23:35, David Brownell a écrit : > To be clear: I won't be integrating this, and my recommendation is > that Duncan handle this along with the other usbfs fixes he's got > in the works. As-is this is wrong; but in conjunction with those > other fixes (or after they're ready) such a fix is clearly needed. > > In this case it's an issue of how much time is available ... :) > > - dave > > > > > Le sam 27/12/2003 à 21:06, David Brownell a écrit : > > > >>areversat wrote: > >> > >>>Here is a patch that fixes the following problem : interval of iso urbs > >>>doesn't get set. This big is still appearing in the 2.6.O kernel. > >>>It would be good to fix it as we (the eciadsl programmers) use iso > >>>packets and it causes the driver not to work unless you patch your > >>>kernel. > >> > >>Looks like the kernel is going to have to do this, since I don't > >>see a way that userspace can pass this interval down. However: > >> > >> - That epnum_to_ep_desc() result shouldn't be used without a bit > >> more locking; else the config could change from under usbfs. > >> > >> - The correct formula is "interval = (1 << (ep_desc->bInterval - 1))" > >> for all device speeds. (For high speed devices the units will > >> be microframes.) > >> > >>I cc'd Duncan Sands, who's got a devio.c patch in the works that'll > >>fix a bunch of such stuff. > >> > >>- Dave > >> > >> > >> > >> > >>>------------------------------------------------------------------------ > >>> > >>>#original patch by Benoit PAPILLAULT ([EMAIL PROTECTED]), fix by Antoine REVERSAT > >>>([EMAIL PROTECTED]) > >>>--- linux-2.6.0/drivers/usb/core/devio.c 2003-12-18 21:32:47.000000000 +0100 > >>>+++ linux-2.6.0/drivers/usb/core/devio-new.c 2003-12-18 21:33:51.000000000 > >>>+0100 > >>>@@ -834,6 +834,9 @@ > >>> break; > >>> > >>> case USBDEVFS_URB_TYPE_ISO: > >>>+ if (!(ep_desc = usb_epnum_to_ep_desc(ps->dev, uurb.endpoint))) > >>>+ return -ENOENT; > >>>+ interval = ep_desc->bInterval; > >>> /* arbitrary limit */ > >>> if (uurb.number_of_packets < 1 || uurb.number_of_packets > 128) > >>> return -EINVAL; > >> > > > > -- Pour trouver les limites du possible il faut tenter l'impossible. ------------------------------------------------------- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id56&alloc_id438&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel