[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190604085955.GA2855@kroah.com>
Date: Tue, 4 Jun 2019 10:59:55 +0200
From: Greg KH <gregkh@...uxfoundation.org>
To: Jim Lin <jilin@...dia.com>
Cc: stern@...land.harvard.edu, mathias.nyman@...el.com,
kai.heng.feng@...onical.com, drinkcat@...omium.org,
Thinh.Nguyen@...opsys.com, nsaenzjulienne@...e.de,
jflat@...omium.org, malat@...ian.org, linux-usb@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v11 0/2] usb: xhci: Add Clear_TT_Buffer
On Tue, Jun 04, 2019 at 04:53:54PM +0800, 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.
Please do, only resend if you do not get a response after 2 weeks.
thanks,
greg k-h
Powered by blists - more mailing lists