Hi

I'm looking into a problem with my USB modem and have traced it to usb-ohci
(2.4.19-pre10).

When I put stress on the modem (ls -laR over a ppp link), I find that one of
the endpoints (usually bulk write, sometimes bulk read) freezes after a few
minutes.  

The problem appears to be that there is a case where the HC does not retire
a TD to the done queue.  When in the 'frozen' state, the TD associated with
the usb operation is neither in the done queue, or in any of the bulk
endpoint TD lists.  Despite this, the TD looks to have been processed
(td->hwCBP has been changed to 0, which according to the specs means that
the TD has been finished with, and everything else in the TD looks OK).

How can a TD neither exist in the done queue or in any bulk endpoint list,
yet still have been processed?

In a somewhat related question, why does the DO_TIMEOUTS #define exist in
usb-ohci?  I can see a possible workaround to my problem by enabling
DO_TIMEOUTS and sending any 'timed out' (I use the term loosely) urb's to
their completion handler (bypassing the done queue).

Thanks for any help
Simon Gittins


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Stuff, things, and much much more.
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