Bug 185

Summary: mwave init yields: bad: scheduling while atomic!
Product: Drivers Reporter: Jochen Hein (jochen)
Component: OtherAssignee: Alan (alan)
Status: CLOSED CODE_FIX    
Severity: low    
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: Subsystem:
Regression: --- Bisected commit-id:

Description Jochen Hein 2002-12-20 11:54:23 UTC
Exact Kernel version: 2.5.52
Distribution: Debian/testing
Hardware Environment: IBM Thinkpad 600

Problem Description:
Initializing the mwave driver (loading the userspace daemon) yields:

Dec 20 20:46:51 gswi1164 kernel:  <3>bad: scheduling while atomic!
Dec 20 20:46:51 gswi1164 kernel: Call Trace:
Dec 20 20:46:51 gswi1164 kernel:  [schedule+61/712] schedule+0x3d/0x2c8
Dec 20 20:46:51 gswi1164 kernel:  [interruptible_sleep_on+91/132] interruptible_sleep_on+0x5b/0x84
Dec 20 20:46:51 gswi1164 kernel:  [<c6b0ec5c>] +0x9c/0x220 [mwave]
Dec 20 20:46:51 gswi1164 kernel:  [default_wake_function+0/52] default_wake_function+0x0/0x34
Dec 20 20:46:51 gswi1164 kernel:  [<c6b0ec7c>] +0xbc/0x220 [mwave]
Dec 20 20:46:51 gswi1164 kernel:  [<c6b0ec7c>] +0xbc/0x220 [mwave]
Dec 20 20:46:51 gswi1164 kernel:  [<c6b08515>] mwave_ioctl+0x49d/0x5c8 [mwave]
Dec 20 20:46:51 gswi1164 kernel:  [schedule+616/712] schedule+0x268/0x2c8
Dec 20 20:46:51 gswi1164 kernel:  [need_resched+31/42] need_resched+0x1f/0x2a
Dec 20 20:46:51 gswi1164 kernel:  [sys_ioctl+543/624] sys_ioctl+0x21f/0x270
Dec 20 20:46:51 gswi1164 kernel:  [error_code+45/56] error_code+0x2d/0x38
Dec 20 20:46:51 gswi1164 kernel:  [syscall_call+7/11] syscall_call+0x7/0xb
Dec 20 20:46:51 gswi1164 kernel:
Dec 20 20:46:51 gswi1164 kernel: bad: scheduling while atomic!
Dec 20 20:46:51 gswi1164 kernel: Call Trace:
Dec 20 20:46:51 gswi1164 kernel:  [schedule+61/712] schedule+0x3d/0x2c8
Dec 20 20:46:51 gswi1164 kernel:  [interruptible_sleep_on+91/132] interruptible_sleep_on+0x5b/0x84
Dec 20 20:46:51 gswi1164 kernel:  [<c6b0ec5c>] +0x9c/0x220 [mwave]
Dec 20 20:46:51 gswi1164 kernel:  [default_wake_function+0/52] default_wake_function+0x0/0x34
Dec 20 20:46:51 gswi1164 kernel:  [<c6b0ec7c>] +0xbc/0x220 [mwave]
Dec 20 20:46:51 gswi1164 kernel:  [<c6b0ec7c>] +0xbc/0x220 [mwave]
Dec 20 20:46:51 gswi1164 kernel:  [<c6b08515>] mwave_ioctl+0x49d/0x5c8 [mwave]
Dec 20 20:46:51 gswi1164 kernel:  [sys_kill+70/80] sys_kill+0x46/0x50
Dec 20 20:46:51 gswi1164 kernel:  [do_timer+77/212] do_timer+0x4d/0xd4
Dec 20 20:46:51 gswi1164 kernel:  [timer_interrupt+35/276] timer_interrupt+0x23/0x114
Dec 20 20:46:51 gswi1164 kernel:  [do_softirq+81/176] do_softirq+0x51/0xb0
Dec 20 20:46:51 gswi1164 kernel:  [sys_ioctl+543/624] sys_ioctl+0x21f/0x270
Dec 20 20:46:51 gswi1164 kernel:  [syscall_call+7/11] syscall_call+0x7/0xb
Dec 20 20:46:51 gswi1164 kernel:
Dec 20 20:46:51 gswi1164 kernel: bad: scheduling while atomic!
Dec 20 20:46:51 gswi1164 kernel: Call Trace:
Dec 20 20:46:51 gswi1164 kernel:  [schedule+61/712] schedule+0x3d/0x2c8
Dec 20 20:46:51 gswi1164 kernel:  [interruptible_sleep_on+91/132] interruptible_sleep_on+0x5b/0x84
Dec 20 20:46:51 gswi1164 kernel:  [<c6b0ec5c>] +0x9c/0x220 [mwave]
Dec 20 20:46:51 gswi1164 kernel:  [default_wake_function+0/52] default_wake_function+0x0/0x34
Dec 20 20:46:51 gswi1164 kernel:  [<c6b0ec7c>] +0xbc/0x220 [mwave]
Dec 20 20:46:51 gswi1164 kernel:  [<c6b0ec7c>] +0xbc/0x220 [mwave]
Dec 20 20:46:51 gswi1164 kernel:  [<c6b08515>] mwave_ioctl+0x49d/0x5c8 [mwave]
Dec 20 20:46:51 gswi1164 kernel:  [sys_kill+70/80] sys_kill+0x46/0x50
Dec 20 20:46:51 gswi1164 kernel:  [do_timer+77/212] do_timer+0x4d/0xd4
Dec 20 20:46:51 gswi1164 kernel:  [timer_interrupt+35/276] timer_interrupt+0x23/0x114
Dec 20 20:46:51 gswi1164 kernel:  [do_softirq+81/176] do_softirq+0x51/0xb0
Dec 20 20:46:51 gswi1164 kernel:  [sys_ioctl+543/624] sys_ioctl+0x21f/0x270
Dec 20 20:46:51 gswi1164 kernel:  [syscall_call+7/11] syscall_call+0x7/0xb

Steps to reproduce:

Just running the init script /etc/init.d/mwavem start

I have not tried using the modem yet.
Comment 1 Alan 2003-03-06 13:53:30 UTC
IOCTL_MW_GET_IPC is broken
The fix looks decidedly non trivial
Comment 2 Jochen Hein 2004-01-03 21:37:17 UTC
I gave my TP 600 back and can't test anything anymore.
Comment 3 Daniel Glanzmann 2004-02-22 06:21:41 UTC
mwave loads fine on my IBM Thinkpad 770X running 2.6.3 
Comment 4 Alan 2004-12-02 07:46:29 UTC
"Looks like Manfred Spraul fixed this one in Changeset 1.1261"
 -- Alexander Nyberg