[PATCH] Activating a few quirks for ASMedia 1042A USB 3.0 hosts:

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



XHCI_AVOID_BEI to get rid of the following errors:

xhci_hcd 0000:05:00.0: ERROR Transfer event TRB DMA ptr not part of current TD
	ep_index 8 comp_code 1
xhci_hcd 0000:05:00.0: Looking for event-dma 00000000000211a0 trb-start
	0000000000023fe0 trb-end 0000000000024000 seg-start 0000000
	000023000 seg-end 0000000000023ff0

XHCI_TRUST_TX_LENGTH to get rid of the following warnings:

xhci_hcd 0000:05:00.0: WARN Successful completion on short TX: needs
	XHCI_TRUST_TX_LENGTH quirk?

Signed-off-by: Rodrigo Severo <rodrigo@xxxxxxxxxxxxxxxxxxx>
---
 drivers/usb/host/xhci-pci.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
index 2af32e2..ca01686 100644
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
@@ -41,6 +41,8 @@
 #define PCI_DEVICE_ID_INTEL_SUNRISEPOINT_H_XHCI		0xa12f
 #define PCI_DEVICE_ID_INTEL_SUNRISEPOINT_LP_XHCI	0x9d2f
 
+#define PCI_DEVICE_ID_ASMEDIA_ASM1042A	0x1142
+
 static const char hcd_name[] = "xhci_hcd";
 
 static struct hc_driver __read_mostly xhci_pci_hc_driver;
@@ -163,6 +165,12 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
 			pdev->device == 0x1042)
 		xhci->quirks |= XHCI_BROKEN_STREAMS;
 
+	if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
+			pdev->device == PCI_DEVICE_ID_ASMEDIA_ASM1042A) {
+		xhci->quirks |= XHCI_AVOID_BEI;
+		xhci->quirks |= XHCI_TRUST_TX_LENGTH;
+	}
+
 	if (xhci->quirks & XHCI_RESET_ON_RESUME)
 		xhci_dbg_trace(xhci, trace_xhci_dbg_quirks,
 				"QUIRK: Resetting on resume");
-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux