Hi,

> I don't know, but I doubt that is the issue.
> 
If virtual addresses != real addresses on your machine, you got
virtual addresses in data fields where real addresses are expected
which certainly would be an issue.

> I adding printing out of the td_flags, and it seems that every time
> that it gets the condition code of 0xA (which is reserved in the
> OHCI spec, but is defined as TD_BUSY in ohci-isp1362-emu.c), it
> gets stuck in this loop.
> 
It's reserved for use by the HC. Since the OHCI emulation is to be
considered part of the HC it's legal to use the code in this context.

> So it seems that it doesn't handle the busy condition.  It looks
> like the code just keeps on retrying, but something needs to be
> done to get it out of this state.
> 
I had another look at the code and it's definitely wrong! I obviously
broke it, when merging the find_td() and find_ed() functions into
one. :(
The two lines:
-                       } else if (TD_CC_GET(td_flags) == TD_BUSY) {
-                               continue;
should be discarded.

> Could I get it to resubmit this TD?  Do you have any other
> suggestions?
> 
The driver sets this condition code to mark TDs that he is already
processing to avoid reprocessing them.


Lothar Wassmann


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to