Hi,
We are using kernel 3.12 with AM335 with an external CDC modem. When we disconnect the external modem and the modem serial port it's open, the system freeze.
It's quite easy to reproduce. When we connect the modem, we receive:
[ 42.805381] usb 1-1.2: new high-speed USB device number 3 using musb-hdrc
[ 42.917657] usb 1-1.2: New USB device found, idVendor=12d1, idProduct=1573
[ 42.924989] usb 1-1.2: New USB device strings: Mfr=5, Product=4, SerialNumber=0
[ 42.932825] usb 1-1.2: Product: HUAWEI Mobile
[ 42.937497] usb 1-1.2: Manufacturer: Huawei Technologies
[ 42.960929] cdc_ether 1-1.2:2.0 eth2: register 'cdc_ether' at usb-musb-hdrc.0.auto-1.2, CDC Ethernet Device, 00:a0:c6:41:96:70
[ 42.998747] option 1-1.2:2.2: GSM modem (1-port) converter detected
[ 43.057934] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB0
[ 43.072686] option 1-1.2:2.3: GSM modem (1-port) converter detected
[ 43.107534] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB1
[ 43.125200] option 1-1.2:2.4: GSM modem (1-port) converter detected
[ 43.151597] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB2
[ 43.161256] option 1-1.2:2.5: GSM modem (1-port) converter detected
[ 43.187725] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB3
[ 43.197438] option 1-1.2:2.6: GSM modem (1-port) converter detected
[ 43.216046] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB4
And when we disconnect it:
[ 60.215538] option1 ttyUSB0: option_instat_callback: error -71
[ 60.222198] option1 ttyUSB0: option_instat_callback: error -71
[ 60.228844] option1 ttyUSB0: option_instat_callback: error -71
[ 60.235471] option1 ttyUSB0: option_instat_callback: error -71
[ 60.242072] option1 ttyUSB0: option_instat_callback: error -71
[ 60.248370] usb 1-1.2: USB disconnect, device number 3
[ 60.253880] option1 ttyUSB0: option_instat_callback: error -71
[ 60.260530] cdc_ether 1-1.2:2.0 eth2: unregister 'cdc_ether' usb-musb-hdrc.0.auto-1.2, CDC Ethernet Device
[ 60.299235] option1 ttyUSB0: GSM modem (1-port) converter now disconnected from ttyUSB0
[ 60.310243] option 1-1.2:2.2: device disconnected
[ 60.331838] option1 ttyUSB1: GSM modem (1-port) converter now disconnected from ttyUSB1
[ 60.347580] option 1-1.2:2.3: device disconnected
[ 60.370205] option1 ttyUSB2: GSM modem (1-port) converter now disconnected from ttyUSB2
[ 60.397797] option 1-1.2:2.4: device disconnected
[ 60.410902] option1 ttyUSB3: GSM modem (1-port) converter now disconnected from ttyUSB3
[ 60.436020] option 1-1.2:2.5: device disconnected
[ 60.455055] option1 ttyUSB4: GSM modem (1-port) converter now disconnected from ttyUSB4
[ 60.466782] option 1-1.2:2.6: device disconnected
But if the /dev/ttyUSB0 it's open, for example:
microcom -s 115200 /dev/ttyUSB0
When we disconnect the modem, the system freeze. After ten minutes it restarts because we enabled the watchdog.
We tried to enable the CONFIG_LOCKUP_DETECTOR and CONFIG_DETECT_HUNG_TASK, but we didn't receive anything.
What's causing this issue? How we can debug it?