USB vendore designations..
Hans Petter Selasky
hselasky at c2i.net
Mon Dec 27 03:42:22 PST 2004
On Monday 27 December 2004 08:15, Julian Elischer wrote:
> Now, when you do the "doobell trick" as descibed in the spec,
> there is one little part of it.. that is the catch.
> The spec says:
> "Software should first deactivate all active qTDs, wait for the
> queue head to go inactive, then remove the queue head from
> the asynchronous list."
> Note the word "all"
> Ok, so since we want to remove only SOME of the qTDs from the queue
> (those corresponding to the aborting command), and we need to read
> the status word to see which has been completed by whether the
> active bit is set, and since we are in a race with the hardware
> to clear the active bit, which of the qTDs, not in the list of
> qTDs we want to remove, was completed?
Maybe the EHCI driver should not reuse the QH's for transfers on the same
pipe, but instead like I did, have one QH for each transfer, insterted into
the asynchronous schedule after that the last QH has been removed?
More information about the freebsd-usb