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

简介: 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)进行修复了。


具体提交代码信息如下:

20200116173220266.png修改内容

/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判断分支进行处理即可修复该问题。


相关文章
|
6月前
|
分布式计算 关系型数据库 MySQL
Sqoop【部署 01】CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
【2月更文挑战第8天】Sqoop CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
248 1
|
4月前
|
监控 Linux
Linux脚本之监控系统内存使用情况并给予警告
Linux脚本之监控系统内存使用情况并给予警告
|
Oracle 关系型数据库 Shell
linux下的文件系统出错 Structure needs cleaning
[oracle@localhost ~]$ /u01/app/oracle/product/version/db_1/bin/sqlplus -bash: /u01/app/oracle/product/version/db_1/bin/sqlplus: Structure needs cleaning [oracle@localhost ~]$
303 0
|
存储 Linux 开发工具
【Linux】vim打开文件的警告信息
【Linux】vim打开文件的警告信息
274 0
【Linux】vim打开文件的警告信息
|
安全 Linux
linux系统下,警告:warning: implicit declaration of function ‘gets’ [-Wimplicit-function-declaration] 和 warning: the `gets' function is dangerous and should
字符数组 的英文名字是 char [] gets()函数的基本用法为:char *gets(char *s); 该函数的参数是一个字符数组,该函数的返回值也是一个字符数组。 linux下的代码如下: 1 #include 2 3 int main() 4 { 5    c...
1993 0
|
Shell Linux
将Linux下编译的warning警告信息输出到文件中[整理笔记]
Linux中,脚本语言环境中,即你用make xxx即其他一些普通linux命令,比如ls,find等,不同的数字,代表不同的含义: 数字 含义 标准叫法0 标准输入  stdin = standard input1 标准输出  stdout = standard output2 标准错误输出  stderr = standard error而系统默认的stdin,stdout,stderr,都是屏幕,所以,当你执行命令,比如make,后,所输出的信息,都是可以在屏幕上看到的。
2206 0