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
Attachment:
signature.asc
Description: OpenPGP digital signature