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

From: Ard Biesheuvel
Date: Tue Dec 12 2017 - 11:54:22 EST


On 12 December 2017 at 16:47, Daniel Thompson
<daniel.thompson@xxxxxxxxxx> 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: <stable@xxxxxxxxxxxxxxx>
> Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx>

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 <ard.biesheuvel@xxxxxxxxxx>

> ---
> 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
>