linux3.10使用PCIE-USB警告处理:needs XHCI_TRUST_TX_LENGTH quirk?


问题描述

在龙芯2K1000上使用linux3.10内核时候,使用PCIE转USB上使用USB3.0,即XHCI协议时总是会报这样的警告:

xhci_hcd 0000:14:00.0: WARN Successful completion on short TX: needs XHCI_TRUST_TX_LENGTH quirk?
xhci_hcd 0000:14:00.0: WARN Successful completion on short TX: needs XHCI_TRUST_TX_LENGTH quirk?
xhci_hcd 0000:14:00.0: WARN Successful completion on short TX: needs XHCI_TRUST_TX_LENGTH quirk?
handle_tx_event: 34 callbacks suppressed

修改方式

这个问题其实在内核3.18版本里已经由大佬(Daniel Thompson)进行修复了。

具体提交代码信息如下:
在这里插入图片描述

修改内容

/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c +172

 		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;
 	if (pdev->vendor == PCI_VENDOR_ID_VIA)

在代码中添加0x0014判断分支进行处理即可修复该问题。

发布了78 篇原创文章 · 获赞 25 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_37596943/article/details/104008468
今日推荐