public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* 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