Bug 185 - mwave init yields: bad: scheduling while atomic!
Summary: mwave init yields: bad: scheduling while atomic!
Status: CLOSED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: Other (show other bugs)
Hardware: i386 Linux
: P2 low
Assignee: Alan
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-12-20 11:54 UTC by Jochen Hein
Modified: 2004-12-02 07:46 UTC (History)
0 users

See Also:
Kernel Version:
Subsystem:
Regression: ---
Bisected commit-id:


Attachments

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

Note You need to log in before you can comment on or make changes to this bug.