Re: [PATCH v11 0/2] usb: xhci: Add Clear_TT_Buffer

From: Alan Stern
Date: Tue Jun 04 2019 - 10:26:22 EST


On Tue, 4 Jun 2019, Jim Lin wrote:

> 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?

Did I not do this already? Oh well, in any case:

Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>

Alan Stern