Re: IRQ Mis-matches in

From: Bjorn Helgaas
Date: Fri Aug 11 2006 - 12:04:37 EST

On Friday 11 August 2006 09:44, Len Brown wrote:
> On Friday 11 August 2006 04:53, Matthew Johnson wrote:
> ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 4
> PCI: setting IRQ 4 as level-triggered
> ACPI: PCI Interrupt 0000:00:0f.0[A] -> Link [LNKC] -> GSI 4 (level, low) -> IRQ 4
> 3c59x: Donald Becker and others.
> 0000:00:0f.0: 3Com PCI 3c905B Cyclone 100baseTx at e0802000.
> setup_irq: irq handler mismatch
> <c0135b3e> setup_irq+0x10d/0x11a <e2024b74> irq_handler+0x0/0x4e0 [lirc_serial]
> <c0135bba> request_irq+0x6f/0x8b <e202410a> set_use_inc+0xab/0x1b9 [lirc_serial]
> <e201f467> irctl_open+0x155/0x1e8 [lirc_dev] <c015678b> chrdev_open+0x15e/0x17a
> <c015662d> chrdev_open+0x0/0x17a <c014e9d7> __dentry_open+0xe0/0x1cf
> <c014eb2a> nameidata_to_filp+0x19/0x28 <c014eb64> do_filp_open+0x2b/0x31
> <c014ec4a> do_sys_open+0x3c/0xae <c014ece9> sys_open+0x16/0x18
> <c0102a5f> syscall_call+0x7/0xb
> lirc_serial: IRQ 4 busy

Is this problem new with On the face of it, it looks
like every kernel should have this problem if you have other
devices on IRQ 4.

Other devices (ehci_hcd:usb1 eth0 ohci1394) are already using
IRQ 4. lirc_serial doesn't request a shared IRQ unless you use
the "share_irq" module parameter. A request for exclusive use
of IRQ 4 will fail if it's already in use. So I suspect that if
you use the "share_irq" parameter, it will work.

I recently fixed a similar bug in the 8250_pnp driver:;a=commitdiff;h=cb6358eb69d9854f65f2979c0ce9280eee041828

It would be nice if lirc_serial used PNP to discover its resources.
Then we should be able to handle this automatically, without any
module parameters.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at