This patch sets up the URB interval correctly when using interrupts via
usbfs. This is finally possible since the automagic resubmission is gone.
--- usb-2.5/drivers/usb/core/devio.c Tue Oct 8 18:53:39 2002
+++ linux-bk/drivers/usb/core/devio.c Mon Oct 28 23:56:23 2002
@@ -750,7 +750,7 @@
struct async *as;
struct usb_ctrlrequest *dr = NULL;
unsigned int u, totlen, isofrmlen;
- int ret;
+ int ret, interval = 0;
if (copy_from_user(&uurb, arg, sizeof(uurb)))
return -EFAULT;
@@ -837,6 +837,9 @@
case USBDEVFS_URB_TYPE_INTERRUPT:
uurb.number_of_packets = 0;
+ if (!(ep_desc = usb_epnum_to_ep_desc(ps->dev, uurb.endpoint)))
+ return -ENOENT;
+ 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))
@@ -868,6 +871,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++) {
-------------------------------------------------------
This sf.net email is sponsored by: Influence the future
of Java(TM) technology. Join the Java Community
Process(SM) (JCP(SM)) program now.
http://ads.sourceforge.net/cgi-bin/redirect.pl?sunm0004en
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel