wbsd: IRQ handler type mismatch

From: Robert Hancock
Date: Mon Feb 05 2007 - 22:17:33 EST


I'm seeing this on bootup on my laptop with recent kernels (currently 2.6.20-rc6-mm3):

Floppy drive(s): fd0 is 1.44M
IRQ handler type mismatch for IRQ 6
current handler: wbsd
[<c0451fe7>] setup_irq+0x194/0x1ac
[<e0ad7189>] floppy_hardint+0x0/0xc0 [floppy]
[<c045207b>] request_irq+0x7c/0x98
[<e0a5c67c>] init_module+0x546/0xe15 [floppy]
[<c05ffe85>] _spin_unlock_irq+0x5/0x7
[<c0442410>] __link_module+0x0/0x10
[<c0442410>] __link_module+0x0/0x10
[<c0443d6c>] sys_init_module+0x1781/0x18c8
[<c04dbf10>] blk_init_queue+0x0/0x8
[<c04734f6>] vfs_read+0xa6/0x152
[<c0404e26>] sysenter_past_esp+0x5f/0x85
[<c0600000>] error_code+0x68/0x84
=======================
floppy0: Unable to grab IRQ6 for the floppy driver

It looks like wbsd is being loaded first, which being a nice PnP device sees that IRQ 6 is available and grabs it. Then the we try to load the floppy module (which is hard-coded to use IRQ 6) which fails because wbsd already owns IRQ6 (which is fine, there's no floppy controller anyway). The mismatch is occurring because wbsd passes IRQF_SHARED whereas floppy doesn't. I assume one of the two is likely wrong. Should wbsd really be passing IRQF_SHARED here? This is an LPC device which uses ISA-style edge triggered interrupts, is it safe to try and share an interrupt with this chip anyway?

--
Robert Hancock Saskatoon, SK, Canada
To email, remove "nospam" from hancockr@xxxxxxxxxxxxx
Home Page: http://www.roberthancock.com/

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/