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

From: Greg KH
Date: Mon Jun 03 2019 - 08:26:52 EST


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?

> Signed-off-by: Jim Lin <jilin@xxxxxxxxxx>

There is nothing to sign off on a 0/X patch :)

thanks,

greg k-h