The following patch was created by Benoit PAPILLAULT
(http://benoit.papillault.free.fr).
It corrects the following bug : it initializes the value of interval for
iso urb otherwise it would be 0 and would
produce an error. 
This bug only shows up with our driver (eciadsl, http://eciadsl.flashtux.org) because 
we don't use the libusb but a usb lib created by Benoit PAPILLAULT.
Please contact me by mail not by the mailing list since i haven't subscribed to it.
P.S. it seems to occure only in the 2.6 series of the kernel.
Antoine REVERSAT aka Crevetor
--- linux-2.5.61/drivers/usb/core/devio.c	Sat Feb 15 00:51:45 2003
+++ linux-2.5.61/drivers/usb/core/devio.new.c	Tue Feb 18 19:13:16 2003
@@ -832,6 +832,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;

Reply via email to