Possible driver issue with module power reset

Hi!

I have a problem related to Gobi drivers S2.27N2.41 and SLQS04.00.01 on embedded Linux target. Modules I’m using are MC7403 and MC7340. Issues arise when the module is disconnected from the bus due to power reset. As you can see from the logs below the driver is unable to close some file handle and new device appears with incremented device number. This happens every time module is disconnected and eventually leads to kernel panic (after ~50 USB disconnects or so).

Debug logs:
GobiSerial::GobiClose
GobiSerial::IsGPSPort Product=0x68c0, Interface=0x3
GobiNet::ReadSync result:0 , CID:0x0303
GobiNet::PopFromReadMemList
GobiNet::FindClientMem Found client’s 0x303 memory
GobiNet::PopFromReadMemList *ppReadMemList = 0xc9ca23c0 pDelReadMemList = 0xc9ca23c0
GobiNet::PopFromReadMemList *ppReadMemList = 0xc9ca23c0 pDelReadMemList = 0xc9ca23c0
GobiNet::PopFromReadMemList *ppData = 0xc78c5220 pDataSize = 34
GobiNet::PrintHex : C7 8C 52 20 00 00 10 32 C0 00 81 04 00 00 10 32 48 14 07 20 00 00 00 01 00 00 00 00 42 00 00 48 48 14
GobiNet::UserspaceRead pBuf = 0x108596b8 pSmallReadData = 0xc78c5226, result = 28
GobiNet::UserspaceRead
GobiNet::ReadSync
GobiNet::FindClientMem Found client’s 0x303 memory
GobiNet::PopFromReadMemList
GobiNet::FindClientMem Found client’s 0x303 memory
GobiNet::PopFromReadMemList *ppReadMemList = 0x (null) pDelReadMemList = 0x (null)
GobiNet::PopFromReadMemList No read memory to pop, Client 0x0303, TID = 0x0
GobiNet::AddToNotifyList ClientID:0x303, TID:0x0
GobiNet::FindClientMem Found client’s 0x303 memory
usb 1-1: USB disconnect, device number 3
GobiSerial driver ttyUSB5: GobiSerial converter now disconnected from ttyUSB5
GobiSerial::GobiUSBSerialDisconnect
GobiSerial 1-1:1.0: device disconnected
GobiSerial driver ttyUSB6: GobiSerial converter now disconnected from ttyUSB6
GobiSerial::GobiUSBSerialDisconnect
GobiSerial 1-1:1.2: device disconnected
GobiSerial driver ttyUSB7: GobiSerial converter now disconnected from ttyUSB7
GobiSerial::GobiUSBSerialDisconnect
GobiSerial 1-1:1.3: device disconnected
GobiNet::IntCallback IntCallback: Int status = -108
GobiNet::GobiUSBDisconnect GobiUSBDisconnect
GobiNet 1-1:1.8: eth10: unregister ‘GobiNet’ usb-0000:05:00.2-1, GobiNet Ethernet Device
GobiNet::RemoveProcessFile remove:qcqmi0
GobiNet::KillRead Killng read URB
GobiNet::KillRead Killng int URB
GobiNet::ReleaseClientID clientID:0x2301
GobiNet::QMICTLReleaseClientIDReq buffSize: 0x11, transactionID: 0x17, clientID: 0x2301,
GobiNet::FindClientMem Found client’s 0x0 memory
GobiNet::AddToNotifyList ClientID:0x0, TID:0x17
GobiNet::FindClientMem Found client’s 0x0 memory
GobiNet::WriteSync Unloading device!
GobiNet::ReleaseClientID Lock Timeout
GobiNet::FindClientMem Found client’s 0x0 memory
GobiNet::FindClientMem Found client’s 0x2301 memory
GobiNet::PopFromReadMemList
GobiNet::FindClientMem Found client’s 0x2301 memory
GobiNet::PopFromReadMemList *ppReadMemList = 0x (null) pDelReadMemList = 0x (null)
GobiNet::PopFromReadMemList No read memory to pop, Client 0x2301, TID = 0x0
GobiNet::QMIWDSCallback WDS callback failed to get data
GobiNet::FindClientMem Found client’s 0x2301 memory
GobiNet::NotifyAndPopNotifyList no one to notify for Client:0x2301, TID 0x0
GobiNet::PopFromReadMemList
GobiNet::FindClientMem Found client’s 0x2301 memory
GobiNet::PopFromReadMemList *ppReadMemList = 0x (null) pDelReadMemList = 0x (null)
GobiNet::PopFromReadMemList No read memory to pop, Client 0x2301, TID = 0x0
GobiNet::ReleaseClientID Delete client Mem
GobiNet::ReleaseClientID Prepare Next Delete client Mem
GobiNet::StopSemID StopSemID DONE
GobiNet::DeregisterQMIDevice release 0x0000
GobiNet::FindClientMem Found client’s 0x0 memory
GobiNet::PopFromReadMemList
GobiNet::FindClientMem Found client’s 0x0 memory
GobiNet::PopFromReadMemList *ppReadMemList = 0x (null) pDelReadMemList = 0x (null)
GobiNet::PopFromReadMemList No read memory to pop, Client 0x0000, TID = 0x0
GobiNet::RemoveAndPopNotifyList no one to notify for TID 0x0
GobiNet::DeregisterQMIDevice DeregisterQMIDevice:4786 tries:0 ref:6
GobiNet::CloseFileInode
forcing close of opened file handle
GobiNet::UserspaceClose
forcing close of opened file handle
GobiNet::ReadSync result:0 , CID:0x0202
GobiNet::PopFromReadMemList
GobiNet::FindClientMem Found client’s 0x202 memory
GobiNet::PopFromReadMemList *ppReadMemList = 0x (null) pDelReadMemList = 0x (null)
GobiNet::PopFromReadMemList No read memory to pop, Client 0x0202, TID = 0x0
GobiNet::ReadSync Unloading
GobiNet::UserspaceRead Read Error!CID:0x0202
GobiNet::UserspaceClose
forcing close of opened file handle
GobiNet::ReadSync result:0 , CID:0x020b
GobiNet::PopFromReadMemList
GobiNet::FindClientMem Found client’s 0x20b memory
GobiNet::PopFromReadMemList *ppReadMemList = 0x (null) pDelReadMemList = 0x (null)
GobiNet::PopFromReadMemList No read memory to pop, Client 0x020B, TID = 0x0
GobiNet::ReadSync Unloading
GobiNet::UserspaceRead Read Error!CID:0x020b
forcing close of opened file handle
GobiNet::ReadSync result:0 , CID:0x0303
GobiNet::PopFromReadMemList
GobiNet::FindClientMem Found client’s 0x303 memory
GobiNet::PopFromReadMemList *ppReadMemList = 0x (null) pDelReadMemList = 0x (null)
GobiNet::PopFromReadMemList No read memory to pop, Client 0x0303, TID = 0x0
GobiNet::ReadSync Unloading
GobiNet::UserspaceRead Read Error!CID:0x0303
GobiNet::DeregisterQMIDevice DeregisterQMIDevice:4786 tries:1 ref:5
GobiNet::CloseFileInode
forcing close of opened file handle
GobiNet::UserspaceClose
forcing close of opened file handle
GobiNet::UserspaceClose
forcing close of opened file handle
GobiNet::UserspaceClose
Timeout!
GobiNet::DeregisterQMIDevice DeregisterQMIDevice:4786 tries:2 ref:2
GobiNet::CloseFileInode
GobiNet::DeregisterQMIDevice DeregisterQMIDevice:4786 tries:3 ref:2
GobiNet::CloseFileInode
GobiNet::DeregisterQMIDevice DeregisterQMIDevice:4786 tries:4 ref:2
GobiNet::CloseFileInode
GobiNet::DeregisterQMIDevice DeregisterQMIDevice:4786 tries:5 ref:2
GobiNet::CloseFileInode
GobiNet::DeregisterQMIDevice DeregisterQMIDevice:4786 tries:6 ref:2
GobiNet::CloseFileInode
GobiNet::DeregisterQMIDevice DeregisterQMIDevice:4786 tries:7 ref:2
GobiNet::CloseFileInode
GobiNet::DeregisterQMIDevice DeregisterQMIDevice:4786 tries:8 ref:2
GobiNet::CloseFileInode
GobiNet::DeregisterQMIDevice DeregisterQMIDevice:4786 tries:9 ref:2
GobiNet::CloseFileInode
GobiNet::DeregisterQMIDevice DeregisterQMIDevice:4786 tries:10 ref:2
GobiNet::CloseFileInode
GobiNet::DeregisterQMIDevice DeregisterQMIDevice:4786 tries:11 ref:2
GobiNet::CloseFileInode
GobiNet::DeregisterQMIDevice DeregisterQMIDevice:4786 tries:12 ref:2
GobiNet::CloseFileInode
GobiNet::DeregisterQMIDevice DeregisterQMIDevice:4786 tries:13 ref:2
GobiNet::CloseFileInode
GobiNet::DeregisterQMIDevice DeregisterQMIDevice:4786 tries:14 ref:2
GobiNet::CloseFileInode
GobiNet::DeregisterQMIDevice DeregisterQMIDevice:4786 tries:15 ref:2
GobiNet::CloseFileInode
GobiNet::DeregisterQMIDevice DeregisterQMIDevice:4786 tries:16 ref:2
GobiNet::CloseFileInode
GobiNet::DeregisterQMIDevice DeregisterQMIDevice:4786 tries:17 ref:2
GobiNet::CloseFileInode
GobiNet::DeregisterQMIDevice DeregisterQMIDevice:4786 tries:18 ref:2
GobiNet::CloseFileInode
GobiNet::DeregisterQMIDevice DeregisterQMIDevice:4786 tries:19 ref:2
GobiNet::CloseFileInode
GobiNet::DeregisterQMIDevice DeregisterQMIDevice:4786 tries:20 ref:2
GobiNet::CloseFileInode
GobiNet::DeregisterQMIDevice Bad SetControlLineState status -19
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
cdev in use by 1 tasks
GobiNet::CloseFileInode
usb 1-1: new high speed USB device number 4 using ehci_hcd
usb 1-1: config 1 has an invalid interface number: 8 but max is 3
usb 1-1: config 1 has no interface number 1
usb 1-1: New USB device found, idVendor=1199, idProduct=68c0
usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-1: Product: MC7430
usb 1-1: Manufacturer: Sierra Wireless, Incorporated
usb 1-1: SerialNumber: LU62630096011012
GobiNet::GobiNetDriverBind invalid interface 0
GobiNet::GobiUSBNetProbe usbnet_probe failed -19
GobiSerial::GobiProbe
GobiSerial::GobiProbe Num Interfaces = 4
GobiSerial::GobiProbe This Interface = 0
GobiSerial 1-1:1.0: GobiSerial converter detected
usb 1-1: GobiSerial converter now attached to ttyUSB5
GobiNet::GobiNetDriverBind invalid interface 2
GobiNet::GobiUSBNetProbe usbnet_probe failed -19
GobiSerial::GobiProbe
GobiSerial::GobiProbe Num Interfaces = 4
GobiSerial::GobiProbe This Interface = 2
GobiSerial 1-1:1.2: GobiSerial converter detected
usb 1-1: GobiSerial converter now attached to ttyUSB6
GobiNet::GobiNetDriverBind invalid interface 3
GobiNet::GobiUSBNetProbe usbnet_probe failed -19
GobiSerial::GobiProbe
GobiSerial::GobiProbe Num Interfaces = 4
GobiSerial::GobiProbe This Interface = 3
GobiSerial 1-1:1.3: GobiSerial converter detected
usb 1-1: GobiSerial converter now attached to ttyUSB7
GobiNet::GobiNetDriverBind in 86, out 4
GobiNet 1-1:1.8: eth10: Features changed: 0x00004800 -> 0x00004000
GobiNet 1-1:1.8: eth10: register ‘GobiNet’ at usb-0000:05:00.2-1, GobiNet Ethernet Device, ca:3b:31:9c:14:ae
GobiNet::GobiUSBNetProbe Mac Address:
GobiNet::PrintHex : CA 3B 31 9C 14 08
GobiNet::ClearTaskID ClearTaskID iTaskID(0)
GobiNet::GobiUSBNetProbe <6>GobiNet Thread : GobiNetThread:0 1:8
USB Speed : USB 2.0

Kernel panic:
usb 1-2: new high speed USB device number 52 using ehci_hcd
usb 1-2: config 1 has an invalid interface number: 8 but max is 3
usb 1-2: config 1 has no interface number 1
usb 1-2: New USB device found, idVendor=1199, idProduct=68c0
usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-2: Product: MC7304
usb 1-2: Manufacturer: Sierra Wireless, Incorporated
GobiSerial 1-2:1.0: GobiSerial converter detected
usb 1-2: GobiSerial converter now attached to ttyUSB0
GobiSerial 1-2:1.2: GobiSerial converter detected
usb 1-2: GobiSerial converter now attached to ttyUSB1
GobiSerial 1-2:1.3: GobiSerial converter detected
usb 1-2: GobiSerial converter now attached to ttyUSB2
GobiNet 1-2:1.8: eth10: Features changed: 0x00004800 -> 0x00004000
GobiNet 1-2:1.8: eth10: register ‘GobiNet’ at usb-0000:05:00.2-2,
GobiNet Ethernet Device, 86:5c:75:51:49:11
USB Speed : USB 2.0
TE Flow Control Enabled
creating qcqmi0
RawIP mode
Unable to handle kernel paging request for data at address 0xffff4621
Faulting instruction address: 0xc0060a64
Oops: Kernel access of bad area, sig: 11 [#1]
MPC832x RDB
last sysfs file:
/sys/devices/pci0000:00/0000:00:12.0/0000:01:00.0/0000:02:03.0/0000:05:00.2/usb1/1-3/1-3:1.8/ep_04/type
Modules linked in: xt_gmmark mpc8321_unitidentificator w24_iocontrol
rt2800usb rt2800lib rt2x00usb GobiSerial rt2x00lib mac80211 cfg80211
rfkill usbserial compat GobiNet
NIP: c0060a64 LR: c009cc94 CTR: c00951c8
REGS: ca107e20 TRAP: 0300 Not tainted (2.6.39+)
MSR: 00001032 <ME,IR,DR> CR: 84000024 XER: 20000000
DAR: ffff4621, DSISR: 20000000
TASK = c8cec3f0[3972] ‘slqssdk’ THREAD: ca106000
GPR00: c009cc94 ca107ed0 c8cec3f0 ffff44d9 c01caf58 c9016d28 00000001
00000000
GPR08: 00000000 c0090000 00000000 00000000 24000028 1006b720 bfae87e0
100163c8
GPR16: 10016184 10016164 10016178 00000001 10070000 4805f33c 100685e8
10022be0
GPR24: 4805f318 00020000 c9016d28 00000008 ce810d00 ce7a94d4 cb3c70a4
ffff44d9
NIP [c0060a64] module_put+0x14/0x4c
LR [c009cc94] cdev_put+0x28/0x3c
Call Trace:
[ca107ed0] [c01cae94] kobject_put+0x34/0x64 (unreliable)
[ca107ee0] [c009cc94] cdev_put+0x28/0x3c
[ca107ef0] [c009a7bc] fput+0x1d4/0x208
[ca107f10] [c0099744] sys_read+0x8c/0xa4
[ca107f40] [c000f4c8] ret_from_syscall+0x0/0x38
— Exception: c01 at 0x1003feec
LR = 0x1003fed4
Instruction dump:
7fc3f378 48034791 80010014 bbc10008 38210010 7c0803a6 4e800020 2c030000
9421fff0 7c0802a6 90010014 41820020
81690004 380b0001 90090004
Kernel panic - not syncing: Fatal exception
Call Trace:
[ca107d50] [c00088bc] show_stack+0x50/0x154 (unreliable)
[ca107d90] [c03b336c] panic+0xa4/0x1cc
[ca107de0] [c000ba84] die+0xf0/0x1a0
[ca107e00] [c0012e64] bad_page_fault+0xb4/0xfc
[ca107e10] [c000f968] handle_page_fault+0x7c/0x80
— Exception: 300 at module_put+0x14/0x4c
LR = cdev_put+0x28/0x3c
[ca107ed0] [c01cae94] kobject_put+0x34/0x64 (unreliable)
[ca107ee0] [c009cc94] cdev_put+0x28/0x3c
[ca107ef0] [c009a7bc] fput+0x1d4/0x208
[ca107f10] [c0099744] sys_read+0x8c/0xa4
[ca107f40] [c000f4c8] ret_from_syscall+0x0/0x38
— Exception: c01 at 0x1003feec
LR = 0x1003fed4
Rebooting in 1 seconds…

Hello,
We would advice you to use the latest release of Gobi Drivers that is S2.27N2.41 , maybe this issue is rectified in latest release . If in latest release also the issue persist then please contact your Sierra point of contact for HW review.

Thanks & Regards,
Moderator