[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <10d35c94-5938-aa47-0f12-7ce1143caa41@linux.intel.com>
Date: Mon, 3 Jun 2019 15:35:09 +0300
From: Mathias Nyman <mathias.nyman@...ux.intel.com>
To: Jim Lin <jilin@...dia.com>, gregkh@...uxfoundation.org,
mathias.nyman@...el.com, stern@...land.harvard.edu,
kai.heng.feng@...onical.com, drinkcat@...omium.org,
Thinh.Nguyen@...opsys.com, nsaenzjulienne@...e.de,
jflat@...omium.org, malat@...ian.org
Cc: linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v11 2/2] usb: xhci: Add Clear_TT_Buffer
On 3.6.2019 13.53, 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.
>
> Here we 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.
>
> Signed-off-by: Jim Lin <jilin@...dia.com>
> ---
> v2: xhci_clear_tt_buffer_complete: add static, shorter indentation
> , remove its claiming in xhci.h
> v3: Add description for clearing_tt (xhci.h)
> v4: Remove clearing_tt flag because hub_tt_work has hub->tt.lock
> to protect for Clear_TT_Buffer to be run serially.
> Remove xhci_clear_tt_buffer_complete as it's not necessary.
> Same reason as the above.
> Extend usb_hub_clear_tt_buffer parameter
> v5: Not extending usb_hub_clear_tt_buffer parameter
> Add description.
> v6: Remove unused parameter slot_id from xhci_clear_hub_tt_buffer
> v7: Add devaddr field in "struct usb_device"
> v8: split as two patches
> v9: no change flag
> v10: Add EP_CLEARING_TT flag
> v11: Add spin_lock/unlock in xhci_clear_tt_buffer_complete
>
>
> drivers/usb/host/xhci-ring.c | 27 ++++++++++++++++++++++++++-
> drivers/usb/host/xhci.c | 21 +++++++++++++++++++++
> drivers/usb/host/xhci.h | 5 +++++
> 3 files changed, 52 insertions(+), 1 deletion(-)
>
xhci parts look good to me,
In case Greg wants to pick up both the core changes (1/2) and
the xhci changes (2/2) at the same time:
Acked-by: Mathias Nyman <mathias.nyman@...ux.intel.com>
Powered by blists - more mailing lists