In function rh_call_control , there is no support for
HUB_CLEAR_TT_BUFFER hub request.
Suppose if we are connecting low/full speed devices to a USB 2.0 EHCI
, host controller., through a HUB , which has a transaction translator
. Then the following function "usb_hub_tt_clear_buffer" will be called
from the function "qtd_copy_status" in the file ehci-q.c .. in case
of errors in CSPILT transaction .
But since this is a hub-transaction request... the function
"rh_call_control" , is not implementing the request type
HUB_CLEAR_TT_BUFFER.
Please explain why is this. Is the hub requests for external hubs
handled elsewhere.
Also why is that the TT hub contents not cleared if the EHCI
controller has an embedded Transcation translator ,, as is evident
from the following code in the function qtd_copy_status.
209 if (urb->status != -EPIPE
210 && urb->dev->tt && !usb_pipeint (urb->pipe)
211 && ((token & QTD_STS_MMF) != 0
212 || QTD_CERR(token) == 0)
213 && (!ehci_is_TDI(ehci)
/// TDI has embedded TT
214 || urb->dev->tt->hub !=
215 ehci_to_hcd(ehci)->self.root_hub)) {
216 #ifdef DEBUG
217 struct usb_device *tt = urb->dev->tt->hub;
218 dev_dbg (&tt->dev,
219 "clear tt buffer port %d, a%d ep%d t%08x\n",
220 urb->dev->ttport, urb->dev->devnum,
221 usb_pipeendpoint (urb->pipe), token);
222 #endif /* DEBUG */
223 usb_hub_tt_clear_buffer (urb->dev, urb->pipe);
224 }
-------------------------------------------------------------------------
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
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel