lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ