USB vendore designations..

Hans Petter Selasky hselasky at
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 mailing list