Could this be part of the reason for the problem?

>From uhci.c, isochronous_find_limits():

        if (last_urb) {
                *end = (last_urb->start_frame + last_urb->number_of_packets) & 1023;
                ret = 0;
        } else
                ret = -1;       /* no previous urb found */

Shouldn't that be:

                *end = (last_urb->start_frame + last_urb->number_of_packets *
                                last_urb->interval) & 1023;

Also, it wouldn't hurt to replace the 1023 with (UHCI_NUMFRAMES - 1).

Alan Stern



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to