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.
IOCTL_MW_GET_IPC is broken The fix looks decidedly non trivial
I gave my TP 600 back and can't test anything anymore.
mwave loads fine on my IBM Thinkpad 770X running 2.6.3
"Looks like Manfred Spraul fixed this one in Changeset 1.1261" -- Alexander Nyberg