diff mbox series

usb: host: xhci-rcar: Add XHCI_TRUST_TX_LENGTH quirk

Message ID 20190218102633.11738-1-spapageorgiou@de.adit-jv.com (mailing list archive)
State Mainlined
Commit 40fc165304f0faaae78b761f8ee30b5d216b1850
Headers show
Series usb: host: xhci-rcar: Add XHCI_TRUST_TX_LENGTH quirk | expand

Commit Message

Spyridon Papageorgiou Feb. 18, 2019, 10:26 a.m. UTC
From: Yasushi Asano <yasano@jp.adit-jv.com>

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 <yasano@jp.adit-jv.com>
Signed-off-by: Spyridon Papageorgiou <spapageorgiou@de.adit-jv.com>
---
 drivers/usb/host/xhci-rcar.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Yoshihiro Shimoda Feb. 26, 2019, 8:47 a.m. UTC | #1
Hi,

> From: Spyridon Papageorgiou, Sent: Monday, February 18, 2019 7:27 PM
> To: mathias.nyman@intel.com
> Cc: gregkh@linuxfoundation.org; yasano@jp.adit-jv.com; REE erosca@DE.ADIT-JV.COM <erosca@DE.ADIT-JV.COM>;
> linux-usb@vger.kernel.org; linux-kernel@vger.kernel.org
> Subject: [PATCH] usb: host: xhci-rcar: Add XHCI_TRUST_TX_LENGTH quirk
> 
> From: Yasushi Asano <yasano@jp.adit-jv.com>
> 
> 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 <yasano@jp.adit-jv.com>
> Signed-off-by: Spyridon Papageorgiou <spapageorgiou@de.adit-jv.com>

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 <yoshihiro.shimoda.uh@renesas.com>

Best regards,
Yoshihiro Shimoda

[1]
---
commit da99706689481717998d1d48edd389f339eea979
Author: Daniel Thompson <daniel.thompson@linaro.org>
Date:   Thu Dec 21 15:06:15 2017 +0200

    usb: xhci: Add XHCI_TRUST_TX_LENGTH for Renesas uPD720201
---
commit d2f48f05cd2a2a0a708fbfa45f1a00a87660d937
Author: Corentin Labbe <clabbe.montjoie@gmail.com>
Date:   Fri Jun 9 14:48:41 2017 +0300

    usb: xhci: ASMedia ASM1042A chipset need shorts TX quirk
---
commit 2597fe99bb0259387111d0431691f5daac84f5a5
Author: Huang Rui <ray.huang@amd.com>
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
diff mbox series

Patch

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);
 }