LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   do not call blocking ops when !TASK_RUNNING; state=1 crash in usb driver kernel 4.4.38+ (https://www.linuxquestions.org/questions/linux-newbie-8/do-not-call-blocking-ops-when-task_running%3B-state%3D1-crash-in-usb-driver-kernel-4-4-38-a-4175617336/)

Abinaya.l 11-10-2017 06:56 AM

do not call blocking ops when !TASK_RUNNING; state=1 crash in usb driver kernel 4.4.38+
 
Hi,

I am observing the following crash logs at boot time only, in kernel 4.4.38+ after adding usb driver(gobinet from sierra wireless). With the same usb driver, in kernel 3.10.96 this crash issue is not observed. In scheduling header file, based on config_debug_atomic_sleep, the call of set_current_state function calls varies from kernel 4.4.38+ and kernel 3.10.96. After kernel boots up, when we try to disconnect and attach usb again, this crash is not observed. Could anyone please tell why this crash occurs only at boot time?

Crash logs are:

ubuntu@tegra-ubuntu:~$ [ 18.281543] GobiSerial 1-4:1.0: GobiSerial converter detected
[ 18.287521] usb 1-4: GobiSerial converter now attached to ttyUSB0
[ 18.295049] GobiSerial 1-4:1.2: GobiSerial converter detected
[ 18.301213] usb 1-4: GobiSerial converter now attached to ttyUSB1
[ 18.308945] GobiSerial 1-4:1.3: GobiSerial converter detected
[ 18.314964] usb 1-4: GobiSerial converter now attached to ttyUSB2
[ 18.322645] GobiSerial 1-4:1.4: GobiSerial converter detected
[ 18.328780] usb 1-4: GobiSerial converter now attached to ttyUSB3
[ 18.336703] GobiNet 1-4:1.8 eth1: register 'GobiNet' at usb-70090000.xusb-4, GobiNet Ethernet Device, 82:7c:a8:7f:b2:11
[ 18.352432] USB Speed : USB 2.0
[ 18.355672] do not call blocking ops when !TASK_RUNNING; state=1 set at [<ffffffc0006f31a8>] QMIReady+0x114/0x514
[ 18.357409] cdc_ether 1-4:1.19 usb0: register 'cdc_ether' at usb-70090000.xusb-4, CDC Ethernet Device, 7a:1c:24:c4:d3:c0
[ 18.378277] ------------[ cut here ]------------
[ 18.382896] WARNING: at ../kernel/sched/core.c:7614
[ 18.387766] Modules linked in: usb_f_acm u_serial g_serial libcomposite rfcomm bnep hci_uart bluetooth ads7924 tmp102 gpio_icdc(O) bcmdhd spidev bluedroid_pm
[ 18.401948]
[ 18.403439] CPU: 2 PID: 1007 Comm: GobiNetThread:0 Tainted: G O 4.4.38+ #34
[ 18.411519] Hardware name: jetson_tx1 (DT)
[ 18.415607] task: ffffffc0f8da2580 ti: ffffffc07d3a4000 task.ti: ffffffc07d3a4000
[ 18.423085] PC is at __might_sleep+0x50/0x94
[ 18.425239] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[ 18.425760] GobiNet 1-4:1.8 eth1: kevent 12 may have been dropped
[ 18.425768] GobiNet 1-4:1.8 eth1: kevent 12 may have been dropped
[ 18.426245] GobiNet 1-4:1.8 eth1: kevent 12 may have been dropped
[ 18.451409] LR is at __might_sleep+0x50/0x94
[ 18.455670] pc : [<ffffffc0000cb920>] lr : [<ffffffc0000cb920>] pstate: 60000145
[ 18.463053] sp : ffffffc07d3a7bb0
[ 18.466360] x29: ffffffc07d3a7bb0 x28: 0000000000000000
[ 18.471677] x27: 0000000000000000 x26: 0000000000000000
[ 18.476993] x25: 000000000000000c x24: ffffffc0006f31a8
[ 18.482310] x23: ffffffc07d1f0100 x22: ffffffc07d1f0100
[ 18.487626] x21: 0000000000000000 x20: 00000000000003bb
[ 18.492942] x19: ffffffc001049b88 x18: 0000000000000000
[ 18.498259] x17: 0000007f84aa1058 x16: ffffffc0000a8848
[ 18.503574] x15: 0000007f84cb6000 x14: 0000000000000000
[ 18.508890] x13: 0000000000000000 x12: 00000000fff7ffff
[ 18.514205] x11: 000000000000001d x10: 0000000000000860
[ 18.519520] x9 : ffffffc07d3a79b0 x8 : ffffffc0f8da2e40
[ 18.524834] x7 : 0000000000000000 x6 : 0000000004568b10
[ 18.530151] x5 : 0000000000000002 x4 : ffffffc07ac908d0
[ 18.535465] x3 : ffffffc0ff6686b0 x2 : ffffffc07ac90010
[ 18.540780] x1 : 0000000000000000 x0 : 0000000000000065
[ 18.546097]
[ 18.547583] ---[ end trace a943e49812910225 ]---
[ 18.552190] Call trace:
[ 18.554633] [<ffffffc0000cb920>] __might_sleep+0x50/0x94
[ 18.559939] [<ffffffc0006070ac>] __pm_runtime_resume+0x38/0x94
[ 18.565762] [<ffffffc00070de40>] usb_autopm_get_interface+0x24/0x6c
[ 18.572019] [<ffffffc0006ee248>] WriteSync+0xd0/0x4b0
[ 18.577061] [<ffffffc0006f3264>] QMIReady+0x1d0/0x514
[ 18.582103] [<ffffffc0006f3758>] RegisterQMIDevice+0x1b0/0x664
[ 18.587926] [<ffffffc0006e8cf8>] thread_function+0xa4/0x210
[ 18.593490] [<ffffffc0000c3cf8>] kthread+0x100/0x108
[ 18.598446] [<ffffffc000084790>] ret_from_fork+0x10/0x40
[ 18.614262] IPv6: ADDRCONF(NETDEV_UP): usb0: link is not ready
[ 18.621260] cdc_ether 1-4:1.19 usb0: kevent 12 may have been dropped

ubuntu@tegra-ubuntu:~$ [ 20.109460] TE Flow Control disabled
[ 20.429196] creating qcqmi0
[ 20.434643] Ethernet mode

Thanks.

AwesomeMachine 11-11-2017 01:40 PM

I would say the wireless device is trying to load before the firmware is loaded. The kernel has a generic firmware loader. If the system tries to load a module for a device that requires external firmware, before the generic firmware loader is loaded, it can trigger what you're getting.

I don't know of an easy way around that.


All times are GMT -5. The time now is 05:22 PM.