Hi,
We have connected modem device to USB Port 1 on custom platform based on AM335x. When I disable/enable power to modem using EN pin, device is disconnected and connected back on the USB bus. I can see ttyUSB* ports are going away and coming back. But when I try to send a soft shut down event to Modem by AT^SMSO, some times I see kernel crashes. Last function is musb_g_tx.
USB should be in Host mode and musb_g_tx should not get called at all. When I debug further, I found that there are still interrupts in process while I issue command and before device gets disconnected on the bus. I can see EPROTO errors from musb_host_tx function which is OK I guess. Due to some reason MUSB_DEVCTL_HM bit is cleared in devctrl register and musb_g_tx is called in the last. And Kernel crash happens at that time. I am not sure why MUSB_DEVCTL_HM bit is zero.
ID signal is tied to ground. Also Software is forcing the port to be in Host mode by configuring IDDIG register. Can I get some help here?
Thanks,
Srinivas