Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 24 Dec 2004 13:43:47 +0100
From:      Bernd Walter <ticso@cicely12.cicely.de>
To:        Julian Elischer <julian@elischer.org>
Cc:        Julian Elischer <julian@vicor.com>
Subject:   Re: USB vendore designations..
Message-ID:  <20041224124346.GG45586@cicely12.cicely.de>
In-Reply-To: <41CB4BCB.1080708@elischer.org>
References:  <41CB38A7.5020700@vicor.com> <41CB4BCB.1080708@elischer.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Dec 23, 2004 at 02:50:51PM -0800, Julian Elischer wrote:
> 
> EHCI is almost ok.. except for where it REALLY SUCKS!
> 
> Is there anyone who really understands it?
> It seems to me that there is almost no way to remove a pipe's queue from 
> the
> async active schedule without losing information as to whether the transfers
> on it were completed or not. (other than halting the entire async 
> schedule,
> removing the queue, and then restarting the async schedule. Similarly,
> there doesn't seen to be a really safe way to remove transfer items from
> said queue (i,e. cancel/abort them), without losing statet information for
> other items on the same queue.
> 
> Anyone with any thoughts on this, speak up! :-)

It's been a while and I may mix up with other host controllers.
You always have to stop HC processing the queue and wait to get the
HC notice the stop befor doing anything with it.
Possibly the HC already processed the transfer in the meantime, so
you have to check about this.

OHCI moves finished transfers to the done queue so there is no doubt
about processed state.
EHCI is different here - but isn't the active flag in the qTD enough?

-- 
B.Walter                   BWCT                http://www.bwct.de
bernd@bwct.de                                  info@bwct.de



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041224124346.GG45586>