2019-02-18 10:35:33

by Spyridon Papageorgiou

[permalink] [raw]
Subject: [PATCH] usb: host: xhci-rcar: Add XHCI_TRUST_TX_LENGTH quirk

From: Yasushi Asano <[email protected]>

When plugging BUFFALO LUA4-U3-AGT USB3.0 to Gigabit Ethernet LAN
Adapter, warning messages filled up dmesg.

[ 101.098287] xhci-hcd ee000000.usb: WARN Successful completion on short TX for slot 1 ep 4: needs XHCI_TRUST_TX_LENGTH quirk?
[ 101.117463] xhci-hcd ee000000.usb: WARN Successful completion on short TX for slot 1 ep 4: needs XHCI_TRUST_TX_LENGTH quirk?
[ 101.136513] xhci-hcd ee000000.usb: WARN Successful completion on short TX for slot 1 ep 4: needs XHCI_TRUST_TX_LENGTH quirk?

Adding the XHCI_TRUST_TX_LENGTH quirk resolves the issue.

Signed-off-by: Yasushi Asano <[email protected]>
Signed-off-by: Spyridon Papageorgiou <[email protected]>
---
drivers/usb/host/xhci-rcar.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/usb/host/xhci-rcar.c b/drivers/usb/host/xhci-rcar.c
index a6e463715779..671bce18782c 100644
--- a/drivers/usb/host/xhci-rcar.c
+++ b/drivers/usb/host/xhci-rcar.c
@@ -246,6 +246,7 @@ int xhci_rcar_init_quirk(struct usb_hcd *hcd)
if (!xhci_rcar_wait_for_pll_active(hcd))
return -ETIMEDOUT;

+ xhci->quirks |= XHCI_TRUST_TX_LENGTH;
return xhci_rcar_download_firmware(hcd);
}

--
2.20.1



2019-02-26 08:48:22

by Yoshihiro Shimoda

[permalink] [raw]
Subject: RE: [PATCH] usb: host: xhci-rcar: Add XHCI_TRUST_TX_LENGTH quirk

Hi,

> From: Spyridon Papageorgiou, Sent: Monday, February 18, 2019 7:27 PM
> To: [email protected]
> Cc: [email protected]; [email protected]; REE [email protected] <[email protected]>;
> [email protected]; [email protected]
> Subject: [PATCH] usb: host: xhci-rcar: Add XHCI_TRUST_TX_LENGTH quirk
>
> From: Yasushi Asano <[email protected]>
>
> When plugging BUFFALO LUA4-U3-AGT USB3.0 to Gigabit Ethernet LAN
> Adapter, warning messages filled up dmesg.
>
> [ 101.098287] xhci-hcd ee000000.usb: WARN Successful completion on short TX for slot 1 ep 4: needs XHCI_TRUST_TX_LENGTH
> quirk?
> [ 101.117463] xhci-hcd ee000000.usb: WARN Successful completion on short TX for slot 1 ep 4: needs XHCI_TRUST_TX_LENGTH
> quirk?
> [ 101.136513] xhci-hcd ee000000.usb: WARN Successful completion on short TX for slot 1 ep 4: needs XHCI_TRUST_TX_LENGTH
> quirk?
>
> Adding the XHCI_TRUST_TX_LENGTH quirk resolves the issue.
>
> Signed-off-by: Yasushi Asano <[email protected]>
> Signed-off-by: Spyridon Papageorgiou <[email protected]>

Thank you for the patch!

I don't know why R-Car xHCI needs this quirk though...
However, other xHCI controllers [1] also seem unclear why this quirk needs.
So,

Acked-by: Yoshihiro Shimoda <[email protected]>

Best regards,
Yoshihiro Shimoda

[1]
---
commit da99706689481717998d1d48edd389f339eea979
Author: Daniel Thompson <[email protected]>
Date: Thu Dec 21 15:06:15 2017 +0200

usb: xhci: Add XHCI_TRUST_TX_LENGTH for Renesas uPD720201
---
commit d2f48f05cd2a2a0a708fbfa45f1a00a87660d937
Author: Corentin Labbe <[email protected]>
Date: Fri Jun 9 14:48:41 2017 +0300

usb: xhci: ASMedia ASM1042A chipset need shorts TX quirk
---
commit 2597fe99bb0259387111d0431691f5daac84f5a5
Author: Huang Rui <[email protected]>
Date: Tue Aug 19 15:17:57 2014 +0300

usb: xhci: amd chipset also needs short TX quirk
---

> ---
> drivers/usb/host/xhci-rcar.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/usb/host/xhci-rcar.c b/drivers/usb/host/xhci-rcar.c
> index a6e463715779..671bce18782c 100644
> --- a/drivers/usb/host/xhci-rcar.c
> +++ b/drivers/usb/host/xhci-rcar.c
> @@ -246,6 +246,7 @@ int xhci_rcar_init_quirk(struct usb_hcd *hcd)
> if (!xhci_rcar_wait_for_pll_active(hcd))
> return -ETIMEDOUT;
>
> + xhci->quirks |= XHCI_TRUST_TX_LENGTH;
> return xhci_rcar_download_firmware(hcd);
> }
>
> --
> 2.20.1