2017-12-12 16:48:13

by Daniel Thompson

[permalink] [raw]
Subject: [PATCH] usb: xhci: Add XHCI_TRUST_TX_LENGTH for Renesas uPD720201

When plugging in a USB webcam I see the following message:
xhci_hcd 0000:04:00.0: WARN Successful completion on short TX: needs
XHCI_TRUST_TX_LENGTH quirk?
handle_tx_event: 913 callbacks suppressed

All is quiet again with this patch (and I've done a fair but of soak
testing with the camera since).

Cc: <[email protected]>
Signed-off-by: Daniel Thompson <[email protected]>
---
drivers/usb/host/xhci-pci.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
index 7ef1274ef7f7..1aad89b8aba0 100644
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
@@ -177,6 +177,9 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
xhci->quirks |= XHCI_TRUST_TX_LENGTH;
xhci->quirks |= XHCI_BROKEN_STREAMS;
}
+ if (pdev->vendor == PCI_VENDOR_ID_RENESAS &&
+ pdev->device == 0x0014)
+ xhci->quirks |= XHCI_TRUST_TX_LENGTH;
if (pdev->vendor == PCI_VENDOR_ID_RENESAS &&
pdev->device == 0x0015)
xhci->quirks |= XHCI_RESET_ON_RESUME;
--
2.14.2


2017-12-12 16:54:20

by Ard Biesheuvel

[permalink] [raw]
Subject: Re: [PATCH] usb: xhci: Add XHCI_TRUST_TX_LENGTH for Renesas uPD720201

On 12 December 2017 at 16:47, Daniel Thompson
<[email protected]> wrote:
> When plugging in a USB webcam I see the following message:
> xhci_hcd 0000:04:00.0: WARN Successful completion on short TX: needs
> XHCI_TRUST_TX_LENGTH quirk?
> handle_tx_event: 913 callbacks suppressed
>
> All is quiet again with this patch (and I've done a fair but of soak
> testing with the camera since).
>
> Cc: <[email protected]>
> Signed-off-by: Daniel Thompson <[email protected]>

I have been setting this quirk manually for ages on my kernel command
line, for the same reason (MS HD Webcam), and with the same positive
result, so

Acked-by: Ard Biesheuvel <[email protected]>

> ---
> drivers/usb/host/xhci-pci.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
> index 7ef1274ef7f7..1aad89b8aba0 100644
> --- a/drivers/usb/host/xhci-pci.c
> +++ b/drivers/usb/host/xhci-pci.c
> @@ -177,6 +177,9 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
> xhci->quirks |= XHCI_TRUST_TX_LENGTH;
> xhci->quirks |= XHCI_BROKEN_STREAMS;
> }
> + if (pdev->vendor == PCI_VENDOR_ID_RENESAS &&
> + pdev->device == 0x0014)
> + xhci->quirks |= XHCI_TRUST_TX_LENGTH;
> if (pdev->vendor == PCI_VENDOR_ID_RENESAS &&
> pdev->device == 0x0015)
> xhci->quirks |= XHCI_RESET_ON_RESUME;
> --
> 2.14.2
>

2017-12-13 11:04:41

by Mathias Nyman

[permalink] [raw]
Subject: Re: [PATCH] usb: xhci: Add XHCI_TRUST_TX_LENGTH for Renesas uPD720201

On 12.12.2017 18:54, Ard Biesheuvel wrote:
> On 12 December 2017 at 16:47, Daniel Thompson
> <[email protected]> wrote:
>> When plugging in a USB webcam I see the following message:
>> xhci_hcd 0000:04:00.0: WARN Successful completion on short TX: needs
>> XHCI_TRUST_TX_LENGTH quirk?
>> handle_tx_event: 913 callbacks suppressed
>>
>> All is quiet again with this patch (and I've done a fair but of soak
>> testing with the camera since).
>>
>> Cc: <[email protected]>
>> Signed-off-by: Daniel Thompson <[email protected]>
>
> I have been setting this quirk manually for ages on my kernel command
> line, for the same reason (MS HD Webcam), and with the same positive
> result, so
>
> Acked-by: Ard Biesheuvel <[email protected]>

Thanks, adding

-Mathias