On Fri, Mar 19, 2004 at 05:06:43PM -0500, Alan Stern wrote: > Greg: > > This patch simplies the way the UHCI driver handles short control > transfers. When a transfer is short the HC will stop handling that > endpoint, and it's necessary to get it going again so that the status > stage of the control transfer can take place. Currently the driver does > this by allocating a new QH for the transfer and setting its element > pointer to point at the final status TD. The old QH is recycled. But > it's not necessary to go to all that trouble; the element pointer in the > original QH can be updated directly. > > Normally the element pointer is supposed to be owned by the HC, and it's > not safe to just change its value since the HC may overwrite it at any > time. But when a transfer is stopped because of a short packet, the > current TD is marked inactive and the HC will not update the element > pointer. To write an unchanged pointer value back to memory would be a > waste of PCI bus cycles. Now the UHCI spec doesn't say explicitly that an > HC _can't_ do this, but I've tested both Intel and VIA hardware and > neither of them does. > > As a side effect of this change, some of the code for removing QHs can be > eliminated. > > Please apply.
Applied, thanks. greg k-h ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
