On Monday 08 January 2007 10:23 am, Vivek Dharmadhikari wrote:

> > The HCD doesn't touch that register after initialization, and 
> > the only thing that's always _known_ to be in the async ring 
> > is a QH that never holds transactions and is marked as the 
> > queue head.  Even an "empty" ring will hold that QH.
> 
> Is this always_present QH also labeled as dummy QH ? What is purpose of
> using this QH which never holds transactions ?

I don't see anything referring to a "dummy QH" ... there's a comment
in ehci_init explaining most of the rationale for that dedicated QH.
ISTR various problems with EHCI 0.95 when trying to do fancier stuff,
like moving the H bit from one "live" QH to another during unlinks.


> Similarly the code also has comments about dummy qtd. What is their
> purpose  as well ?

Same comment describes that too; it helps make sure some queues stop
after short reads.  (Patching live qtds to automatically jump to the
next queued URB in those cases would be very racey, but forcing the
hardware to stop cleanly lets software patch them and then restart
that queue.)

_ Dave

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to