* 2.6.3rc4 floppy oops.
@ 2004-02-17 23:31 Dave Jones
2004-02-21 3:34 ` Zwane Mwaikambo
0 siblings, 1 reply; 2+ messages in thread
From: Dave Jones @ 2004-02-17 23:31 UTC (permalink / raw)
To: Linux Kernel
Another fun one on module unload..
Dave
kernel: Floppy drive(s): fd0 is 1.44M
kernel: FDC 0 is a post-1991 82077
kernel: Uninitialised timer!
kernel: This is just a warning. Your computer is OK
kernel: function=0x00000000, data=0x0
kernel: Call Trace:
modprobe: FATAL: Module ide_probe not found.
kernel: [<c012d2f4>] check_timer_failed+0x3c/0x58
kernel: [<c012d72c>] del_timer+0x15/0xca
kernel: [<c7c714d2>] floppy_ready+0x0/0x1f9 [floppy]
kernel: [<c7c7149a>] start_motor+0x9e/0xd6 [floppy]
kernel: [<c7c714fb>] floppy_ready+0x29/0x1f9 [floppy]
kernel: [<c0135496>] worker_thread+0x1b4/0x250
kernel: [<c7c714d2>] floppy_ready+0x0/0x1f9 [floppy]
kernel: [<c01217e4>] default_wake_function+0x0/0xc
kernel: [<c010b586>] ret_from_fork+0x6/0x20
kernel: [<c01217e4>] default_wake_function+0x0/0xc
kernel: [<c01352e2>] worker_thread+0x0/0x250
kernel: [<c01091ed>] kernel_thread_helper+0x5/0xb
kernel:
kernel: ------------[ cut here ]------------
kernel: kernel BUG at kernel/timer.c:154!
kernel: invalid operand: 0000 [#1]
kernel: CPU: 0
kernel: EIP: 0060:[<c012d3b6>] Not tainted
kernel: EFLAGS: 00010246
kernel: EIP is at __mod_timer+0x1a/0x29d
kernel: eax: c7c7c740 ebx: fff3733f ecx: 00000005 edx: fffd84a7
kernel: esi: 00000000 edi: c7c7c740 ebp: 000003e8 esp: c6f7df18
kernel: ds: 007b es: 007b ss: 0068
kernel: Process events/0 (pid: 4, threadinfo=c6f7c000 task=c1162650)
kernel: Stack: 00000000 fffd84a7 c6d3fe08 c01216e2 c6f7df80 00000046 00000000 fffd7995
kernel: 00000000 fff3733f 00000000 c7c7c740 000003e8 c7c6fb07 00000000 0000044a
kernel: 000000a6 c7c7b4c0 00000206 00000000 c6f7f2b4 c7c73070 c111acc0 c111acc0
kernel: Call Trace:
kernel: [<c01216e2>] schedule+0x526/0x628
kernel: [<c7c6fb07>] floppy_off+0xb4/0xbc [floppy]
kernel: [<c7c73070>] redo_fd_request+0x22/0x350 [floppy]
kernel: [<c0135496>] worker_thread+0x1b4/0x250
kernel: [<c7c7304e>] redo_fd_request+0x0/0x350 [floppy]
kernel: [<c01217e4>] default_wake_function+0x0/0xc
kernel: [<c010b586>] ret_from_fork+0x6/0x20
kernel: [<c01217e4>] default_wake_function+0x0/0xc
kernel: [<c01352e2>] worker_thread+0x0/0x250
kernel: [<c01091ed>] kernel_thread_helper+0x5/0xb
kernel:
kernel: Code: 0f 0b 9a 00 75 b0 2d c0 81 7f 14 6e ad 87 4b 74 07 89 f8 e8
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: 2.6.3rc4 floppy oops.
2004-02-17 23:31 2.6.3rc4 floppy oops Dave Jones
@ 2004-02-21 3:34 ` Zwane Mwaikambo
0 siblings, 0 replies; 2+ messages in thread
From: Zwane Mwaikambo @ 2004-02-21 3:34 UTC (permalink / raw)
To: Dave Jones; +Cc: Linux Kernel, Randy.Dunlap
On Tue, 17 Feb 2004, Dave Jones wrote:
> Another fun one on module unload..
I got delegated this bug by the acting floppy.c maintainer ( Cc'd )
It looks like a block request snuck through before we had initialised the
motor_off_timer timers. So i pushed the timer init earlier.
Tested here with a floppy in the driver on module load and without a
floppy. Could you verify it fixes your bug too?
Thanks
> kernel: Floppy drive(s): fd0 is 1.44M
> kernel: FDC 0 is a post-1991 82077
> kernel: Uninitialised timer!
> kernel: This is just a warning. Your computer is OK
> kernel: function=0x00000000, data=0x0
> kernel: Call Trace:
> modprobe: FATAL: Module ide_probe not found.
> kernel: [<c012d2f4>] check_timer_failed+0x3c/0x58
> kernel: [<c012d72c>] del_timer+0x15/0xca
> kernel: [<c7c714d2>] floppy_ready+0x0/0x1f9 [floppy]
> kernel: [<c7c7149a>] start_motor+0x9e/0xd6 [floppy]
> kernel: [<c7c714fb>] floppy_ready+0x29/0x1f9 [floppy]
> kernel: [<c0135496>] worker_thread+0x1b4/0x250
> kernel: [<c7c714d2>] floppy_ready+0x0/0x1f9 [floppy]
> kernel: [<c01217e4>] default_wake_function+0x0/0xc
> kernel: [<c010b586>] ret_from_fork+0x6/0x20
> kernel: [<c01217e4>] default_wake_function+0x0/0xc
> kernel: [<c01352e2>] worker_thread+0x0/0x250
> kernel: [<c01091ed>] kernel_thread_helper+0x5/0xb
Index: linux-2.6.3-mm2/drivers/block/floppy.c
===================================================================
RCS file: /home/cvsroot/linux-2.6.3-mm2/drivers/block/floppy.c,v
retrieving revision 1.1.1.1
diff -u -p -B -r1.1.1.1 floppy.c
--- linux-2.6.3-mm2/drivers/block/floppy.c 20 Feb 2004 23:58:43 -0000 1.1.1.1
+++ linux-2.6.3-mm2/drivers/block/floppy.c 21 Feb 2004 03:29:57 -0000
@@ -4242,6 +4242,15 @@ int __init floppy_init(void)
disks[i] = alloc_disk(1);
if (!disks[i])
goto Enomem;
+
+ disks[i]->major = FLOPPY_MAJOR;
+ disks[i]->first_minor = TOMINOR(i);
+ disks[i]->fops = &floppy_fops;
+ sprintf(disks[i]->disk_name, "fd%d", i);
+
+ init_timer(&motor_off_timer[i]);
+ motor_off_timer[i].data = i;
+ motor_off_timer[i].function = motor_off_callback;
}
devfs_mk_dir ("floppy");
@@ -4255,13 +4264,6 @@ int __init floppy_init(void)
goto fail_queue;
}
- for (i=0; i<N_DRIVE; i++) {
- disks[i]->major = FLOPPY_MAJOR;
- disks[i]->first_minor = TOMINOR(i);
- disks[i]->fops = &floppy_fops;
- sprintf(disks[i]->disk_name, "fd%d", i);
- }
-
blk_register_region(MKDEV(FLOPPY_MAJOR, 0), 256, THIS_MODULE,
floppy_find, NULL, NULL);
@@ -4366,9 +4368,6 @@ int __init floppy_init(void)
}
for (drive = 0; drive < N_DRIVE; drive++) {
- init_timer(&motor_off_timer[drive]);
- motor_off_timer[drive].data = drive;
- motor_off_timer[drive].function = motor_off_callback;
if (!(allowed_drive_mask & (1 << drive)))
continue;
if (fdc_state[FDC(drive)].version == FDC_NONE)
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2004-02-21 3:34 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-02-17 23:31 2.6.3rc4 floppy oops Dave Jones
2004-02-21 3:34 ` Zwane Mwaikambo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox