Here is a patch that adds code from 2.6.* to pass the interval is ISO
urbs. There is a check in hcd.c that requires this value to be
non-zero.
--
Don Reid
--- devio.c.orig Fri Feb 13 11:23:47 2004
+++ devio.c Wed Feb 18 12:08:58 2004
@@ -784,7 +784,7 @@
struct async *as;
struct usb_ctrlrequest *dr = NULL;
unsigned int u, totlen, isofrmlen;
- int ret;
+ int ret, interval = 0;
int intf = -1;
if (copy_from_user(&uurb, arg, sizeof(uurb)))
@@ -846,6 +846,10 @@
break;
case USBDEVFS_URB_TYPE_ISO:
+ if (!(ep_desc = usb_epnum_to_ep_desc(ps->dev, uurb.endpoint)))
+ return -ENOENT;
+ interval = (1 << (ep_desc->bInterval - 1));
+
/* arbitrary limit */
if (uurb.number_of_packets < 1 || uurb.number_of_packets > 128)
return -EINVAL;
@@ -904,6 +908,7 @@
as->urb.setup_packet = (unsigned char*)dr;
as->urb.start_frame = uurb.start_frame;
as->urb.number_of_packets = uurb.number_of_packets;
+ as->urb.interval = interval;
as->urb.context = as;
as->urb.complete = async_completed;
for (totlen = u = 0; u < uurb.number_of_packets; u++) {
-------------------------------------------------------
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_id=1356&alloc_id=3438&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel