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