On Fri, 6 Jul 2007, Mike Nuss wrote: > On the hardware side though, DI relates to how many frames the HC will > wait until HccaDoneHead will be updated, and the WDH IRQ isn't sent > until that happens. But since the TD never gets properly retired by the > HC when this bug occurs, we never get that interrupt. The last time the > interrupt would have been sent would have been after the last successful > completion, would could have been several frames beforehand. So if > there's only one read endpoint, I don't think this would work, unless > I'm still missing something.
You're right. To what extent does the TD get retired? Did you notice whether the NextTransferDescriptor field gets copied into the ED? Could there be a problem with the DI processing? Is DI always set to 0 for your URBs? If all else fails and you can't get timely interrupts, you can always fall back on a kernel timer. Scan through the data structures once a second or thereabouts. As an optimization, allow the timer to run only while there are active URBs. Alan Stern ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel