On 2013-10-25 17:14, Robert Hodaszi wrote:
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
Also, I forgot to attach a usbmon log. Here are the last few lines.
c2892680 4054650924 S Bo:2:002:3 -115 8 = 41542b47 4341500d
c2892680 4054651074 C Bo:2:002:3 0 8 >
c2892480 4054651441 C Bi:2:002:4 -2 0
c2892500 4054651499 C Bi:2:002:4 -2 0
c2892580 4054651557 C Bi:2:002:4 -2 0
c2892600 4054651888 C Bi:2:002:4 -2 0
c2892480 4054652665 S Bi:2:002:4 -115 4096 <
c2892400 4054654470 C Ii:2:002:3 0:16 10 = a1200000 02000200 0200
c2981200 4054655715 C Co:2:002:0 0 0
c2981200 4054658846 C Co:2:002:0 0 0
c2981200 4054662090 C Co:2:002:0 0 0
c2981200 4054663847 C Co:2:002:0 0 0
c2981c80 4054666845 C Co:2:002:0 0 0
c2981900 4054670466 C Co:2:002:0 0 0
c2892400 4054676465 C Ii:2:002:3 0:16 10 = a1200000 02000200 0200
c2892400 4054676496 S Ii:2:002:3 -115:16 64 <
c2892480 4054677698 C Bi:2:002:4 0 59 = 0d0a2b47 4341503a 202b4349
53373037 2d412c20 4349532d 3835362c 202b4d53
c2892480 4054677747 S Bi:2:002:4 -115 4096 <
c2981800 4054688051 S Co:2:002:0 s 21 22 0003 0002 0000 0
c2981800 4054688715 C Co:2:002:0 0 0
c2892680 4054689278 S Bo:2:002:3 -115 8 = 41542b47 4341500d
c2892680 4054689451 C Bo:2:002:3 0 8 >
c2892480 4054689621 C Bi:2:002:4 -2 0
c2892500 4054689678 C Bi:2:002:4 -2 0
c2892580 4054689717 C Bi:2:002:4 -2 0
c2892600 4054689774 C Bi:2:002:4 -2 0
c2892400 4054690480 C Ii:2:002:3 0:16 10 = a1200000 02000200 0200
c2892480 4054759541 C Bi:2:002:4 -2 0
c2892500 4054759620 C Bi:2:002:4 -2 0
c2892580 4054759685 C Bi:2:002:4 -2 0
c2892600 4054759958 C Bi:2:002:4 0 59 = 0d0a2b47 4341503a 202b4349
53373037 2d412c20 4349532d 3835362c 202b4d53
c2892600 4054760010 S Bi:2:002:4 -115 4096 <
c3d32380 4055155618 C Ii:2:001:1 -2:2048 0
--
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