Messages in this thread | | | Subject | Re: [PATCH v11 0/2] usb: xhci: Add Clear_TT_Buffer | From | Jim Lin <> | Date | Tue, 4 Jun 2019 16:53:54 +0800 |
| |
On 2019年06月03日 20:23, Greg KH wrote: > On Mon, Jun 03, 2019 at 06:53:42PM +0800, Jim Lin wrote: >> USB 2.0 specification chapter 11.17.5 says "as part of endpoint halt >> processing for full-/low-speed endpoints connected via a TT, the host >> software must use the Clear_TT_Buffer request to the TT to ensure >> that the buffer is not in the busy state". >> >> In our case, a full-speed speaker (ConferenceCam) is behind a high- >> speed hub (ConferenceCam Connect), sometimes once we get STALL on a >> request we may continue to get STALL with the folllowing requests, >> like Set_Interface. >> >> Solution is to invoke usb_hub_clear_tt_buffer() to send >> Clear_TT_Buffer request to the hub of the device for the following >> Set_Interface requests to the device to get ACK successfully. >> >> The Clear_TT_Buffer request sent to the hub includes the address of >> the LS/FS child device in wValue field. usb_hub_clear_tt_buffer() >> uses udev->devnum to set the address wValue. This won't work for >> devices connected to xHC. >> >> For other host controllers udev->devnum is the same as the address of >> the usb device, chosen and set by usb core. With xHC the controller >> hardware assigns the address, and won't be the same as devnum. >> >> Here we have two patches. >> One is to add devaddr in struct usb_device for >> usb_hub_clear_tt_buffer() to use. >> Another is to invoke usb_hub_clear_tt_buffer() for halt processing. > Why did you resend patch series 11? Didn't get response in 2 or 3 days. Will be more patient next time.
May I get patch v11 1/2 acked or reviewed by Alan?
Thanks, Jim
| |