linux内核上的usb注销问题

问题描述

我在 omap3 处理器上使用 Linux 4.19.55 armv7l。在我的目标上有一个 USB 调制解调器,它从 gpio 引脚值(在 /sys/class/gpio 下定义)获取电源。有时我更改此 gpio 引脚的 value 参数以关闭硬件,而这样做时我经常收到错误(由 musb_handle_intr_disconnect 从内部驱动程序/usb/musb/musb_core.c 抛出)如下:

“musb_handle_intr_disconnect 843:未处理的 disCONNECT 转换 (a_idle)”

我尝试通过安装 debugfs 并使用 usbmon 从相关总线捕获数据来调试问题。从 lsusb 输出中识别总线 ID,并通过观察 /sys/kernel/debug/usb/devices 进行确认。我观察到只要出现上述错误,usbmon 就无法捕获数据。在没有错误的情况下,usbmon 会捕获来自相关总线的流量。请帮助如何调试此问题。

解决方法

刚刚检查了内核分支上的提交是否修复了此问题,该问题存在于胶水层处理的状态中。这是the required commit