2.6.35 problem with i.mx28 and cdc-acm

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I'm using a Telit modem with an i.mx28 processor. I'm currently running a 2.6.35 kernel on that (I know, it's pretty old, and on an other thread, I'm working on the v3 also). The modem is using the cdc-acm driver.

I can reproduce the problem easiest, if I'm running the following loop:

/ # while [ 1 ]; do echo -en "AT+GCAP\r" > /dev/ttyUSB2; done


So basically open the port, write something onto it, don't read the answer, immediately close the port. After a few loops, I get the following error:


fsl-ehci fsl-ehci.0: fatal error
fsl-ehci fsl-ehci.0: fatal command 010038 (park)=0 ithresh=1 Async Periodic period=256 HALT fsl-ehci fsl-ehci.0: fatal status cd0b9 Async Periodic Halt IAA FATAL FLR INT fsl-ehci fsl-ehci.0: reset command 01003a (park)=0 ithresh=1 Async Periodic period=256 Reset HALT
option: option_instat_callback: error -108
usb 2-1: unlink qh2-0001/c2852c00 start 1 [2/0 us]
option: option_instat_callback: error -108
usb 2-1: unlink qh2-0001/c2852d80 start 0 [2/0 us]
fsl-ehci fsl-ehci.0: force halt; handshake c48e6144 00004000 00004000 -> -110
fsl-ehci fsl-ehci.0: HC died; cleaning up
hub 2-0:1.0: state 0 ports 1 chg 0000 evt 0000
usb 2-1: USB disconnect, address 2
usb 2-1: unregistering device
usb 2-1: unregistering interface 2-1:1.0
option1 ttyUSB0: GSM modem (1-port) converter now disconnected from ttyUSB0
option 2-1:1.0: device disconnected
usb 2-1: unregistering interface 2-1:1.1
option1 ttyUSB1: GSM modem (1-port) converter now disconnected from ttyUSB1
option 2-1:1.1: device disconnected
usb 2-1: unregistering interface 2-1:1.2
option1 ttyUSB2: GSM modem (1-port) converter now disconnected from ttyUSB2
option 2-1:1.2: device disconnected
usb 2-1: unregistering interface 2-1:1.3
option1 ttyUSB3: GSM modem (1-port) converter now disconnected from ttyUSB3
option 2-1:1.3: device disconnected
usb 2-1: usb_disable_device nuking all URBs
FEC: MDIO read timeout
FEC: MDIO read timeout


(Somehow the USB crashed the Ethernet also, but I assume, that's just a chip thing...)

I thought, it's because of some queue list error, e.g. an unlinking is not handled well, and the host controller is trying to read from a freed up memory space. So I cherry-picked this patch:

http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=3d037774b42ed677f699b1dce7d548d55f4e4c2b


It helped a lot! I couldn't generate the problem again with the previously mentioned script. However, the problem is not fixed. Very rarely, after enumeration, I get fatal error again. I don't know, how I could reproduce it systematically...

If I revert the previous patch, and also revert this patch:

http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=b5a3b3d985493c173925907adfebf3edab236fe7

I have the same behavior. I can't reproduce the issue with my script, but very rarely, it is still crashing. Did anybody meet with this previously? Any idea?
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux