Re: [patch 2.6.23-rc1-git] ohci-hcd works around more Compaq/ZF-Micro quirks

Alan Stern <[email protected]>
Newsgroups gmane.linux.usb.devel
Message-ID <[email protected]>
On Wed, 25 Jul 2007, Mike Nuss wrote:

> 2. The logic is too naive. The quirk assumes that if HeadP and DoneP
> remain equal (meaning that the HC's queue is empty) for at least one
> frame, but the HCD still sees an outstanding TD, then that TD must be
> lost. But it may be that even though the queue is still empty, there
> were intervening transactions in the meantime (it was momentarily
> nonempty, but is now empty again). In that case, I could fix it by
> verifying that the second time around, if HeadP and TailP are still
> equal, they point to a *different* dummy than they did before. I don't
> know how that comparison would be done - a simple address check may not
> be sufficient, because the DMA allocation code will give out the same
> addresses for new TDs after the old ones are retired.

Surely the correct way to do this is to look for cases where a TD isn't 
on the donelist but its ED's HeadP has pointed to a later TD for at 
least one frame.  It doesn't matter whether HeadP == TailP or not; what 
matters is that the queue pointer passed beyond the TD in question 
sufficiently long ago.

Alan Stern


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.