Messages in this thread | | | From | Merlijn Wajer <> | Subject | usb: musb: "(null)" in sysfs mode file after disabling a gadget (and at other times, system hangs) | Date | Fri, 2 Mar 2018 00:47:07 +0100 |
| |
Hi,
I found that the "mode" file in musb sys node will return "(null)" when one would expect it show b_idle.
Wrong /mode file:
[Fresh boot, cable not connected yet] root@n900devuan:~# modprobe g_nokia [Insert cable connected to PC] root@n900devuan:~# cat /sys/devices/platform/68000000.ocp/480ab000.usb_otg_hs/musb-hdrc.0.auto/mode b_peripheral [Remove cable connected to PC] root@n900devuan:~# cat /sys/devices/platform/68000000.ocp/480ab000.usb_otg_hs/musb-hdrc.0.auto/mode b_idle root@n900devuan:~# rmmod g_nokia root@n900devuan:~# cat /sys/devices/platform/68000000.ocp/480ab000.usb_otg_hs/musb-hdrc.0.auto/mode (null) [Insert cable connected to PC] root@n900devuan:~# cat /sys/devices/platform/68000000.ocp/480ab000.usb_otg_hs/musb-hdrc.0.auto/mode b_idle
I would expect it to state "b_idle" instead of "(null)". I have also been able to reproduce this "(null)" state using only configfs (and not deprecated g_nokia module), but this example is more cumbersome to write up)
Sometimes it crashes the entire system (reproducibly):
[Fresh boot, USB cable connect to PC at all times] root@n900devuan:~# cat /sys/devices/platform/68000000.ocp/480ab000.usb_otg_hs/musb-hdrc.0.auto/mode b_idle root@n900devuan:~# modprobe g_nokia root@n900devuan:~# cat /sys/devices/platform/68000000.ocp/480ab000.usb_otg_hs/musb-hdrc.0.auto/mode b_peripheral root@n900devuan:~# rmmod g_nokia (Hangs, reboots after a few seconds, probably due to watchdog)
This occurs on Nokia N900 (RX-51). Kernel config has:
CONFIG_USB_LIBCOMPOSITE=m CONFIG_USB_F_*=m CONFIG_USB_G_*=m
I don't have a trace because I don't have a serial on my Nokia N900. I have not yet tested this on other musb devices, but I can do that if that helps reproducing the issue.
Cheers, Merlijn
[unhandled content-type:application/pgp-signature] | |