The now-more-common state is "sitting on UHCI complete_list". Subcases include "unlinked", "shut down", "normal completion", and "I/O error".
That's not quite right. Membership in the complete_list is pretty
short-lived (entirely in_interrupt). Maybe you're thinking of the
urb_remove_list? That only includes "unlinked" and "shut down", not the other subcases.
That sounds much more accurate. Yes, those are the cases; especially "shut down".
(Neither OHCI nor EHCI have such a state; it comes from the QH-per-URB approach.)
I don't think that's right, for either list. The complete_list itself is unnecessary; using it was just a form of optimization in earlier versions of the driver (that's my guess). It meant the driver could avoid releasing and reacquiring all those different spinlocks each time it gave
Yes, better ... it's those states ("normal completion" and "i/o error") that OHCI and EHCI don't split out. Are you suggesting that the UHCI complete_list could go away now after those spinlock changes?
back an URB. The need for the urb_remove list arises because the driver can only synchronize with the hardware at SOF; when an URB is unlinked it has to remain on that list until the next synchronization point. There's
no connection with QHs.
OK, right ... and OHCI does have a list of things to scan when the next SOF comes around. EHCI has a different IRQ (IAA) to use for non-periodic endpoints. SOF isn't quite right given the way the silicion is allowed to cache things.
- Dave
------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel