Commit 307dad0645cb01e61a78099a975a84fd9b86cc36
Committed by
Greg Kroah-Hartman
1 parent
d5dbf1cb56
Exists in
ti-linux-3.14.y
and in
2 other branches
usb: xhci: amd chipset also needs short TX quirk
commit 2597fe99bb0259387111d0431691f5daac84f5a5 upstream. AMD xHC also needs short tx quirk after tested on most of chipset generations. That's because there is the same incorrect behavior like Fresco Logic host. Please see below message with on USB webcam attached on xHC host: [ 139.262944] xhci_hcd 0000:00:10.0: WARN Successful completion on short TX: needs XHCI_TRUST_TX_LENGTH quirk? [ 139.266934] xhci_hcd 0000:00:10.0: WARN Successful completion on short TX: needs XHCI_TRUST_TX_LENGTH quirk? [ 139.270913] xhci_hcd 0000:00:10.0: WARN Successful completion on short TX: needs XHCI_TRUST_TX_LENGTH quirk? [ 139.274937] xhci_hcd 0000:00:10.0: WARN Successful completion on short TX: needs XHCI_TRUST_TX_LENGTH quirk? [ 139.278914] xhci_hcd 0000:00:10.0: WARN Successful completion on short TX: needs XHCI_TRUST_TX_LENGTH quirk? [ 139.282936] xhci_hcd 0000:00:10.0: WARN Successful completion on short TX: needs XHCI_TRUST_TX_LENGTH quirk? [ 139.286915] xhci_hcd 0000:00:10.0: WARN Successful completion on short TX: needs XHCI_TRUST_TX_LENGTH quirk? [ 139.290938] xhci_hcd 0000:00:10.0: WARN Successful completion on short TX: needs XHCI_TRUST_TX_LENGTH quirk? [ 139.294913] xhci_hcd 0000:00:10.0: WARN Successful completion on short TX: needs XHCI_TRUST_TX_LENGTH quirk? [ 139.298917] xhci_hcd 0000:00:10.0: WARN Successful completion on short TX: needs XHCI_TRUST_TX_LENGTH quirk? Reported-by: Arindam Nath <arindam.nath@amd.com> Tested-by: Shriraj-Rai P <shriraj-rai.p@amd.com> Signed-off-by: Huang Rui <ray.huang@amd.com> Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Showing 1 changed file with 4 additions and 0 deletions Side-by-side Diff
drivers/usb/host/xhci-pci.c
... | ... | @@ -101,6 +101,10 @@ |
101 | 101 | /* AMD PLL quirk */ |
102 | 102 | if (pdev->vendor == PCI_VENDOR_ID_AMD && usb_amd_find_chipset_info()) |
103 | 103 | xhci->quirks |= XHCI_AMD_PLL_FIX; |
104 | + | |
105 | + if (pdev->vendor == PCI_VENDOR_ID_AMD) | |
106 | + xhci->quirks |= XHCI_TRUST_TX_LENGTH; | |
107 | + | |
104 | 108 | if (pdev->vendor == PCI_VENDOR_ID_INTEL) { |
105 | 109 | xhci->quirks |= XHCI_LPM_SUPPORT; |
106 | 110 | xhci->quirks |= XHCI_INTEL_HOST; |