Subject: Re: Bug in x86 ioapic interrupt code for devices with shared interrupts?
To: Jonathan Stone <firstname.lastname@example.org>
From: Thor Lancelot Simon <email@example.com>
Date: 03/03/2006 15:03:05
On Fri, Mar 03, 2006 at 11:37:31AM -0800, Jonathan Stone wrote:
> Yes, the interrupt handler in bge(4) (sys/dev/pci/if_bge.c:bge_intr())
> is known to give an inaccurate return code. That problem can cause
> interrupts to not be forwarded to other devices sharing the same IRQ.
> This is a long-known bug in bge(4). However, every time I've tried
> to turn on the
> #ifdef notdef"
> code in bge_intr(), the resulting kernel hung. If I had a
> programmer's manual, I'd go looking for ways to ascertain if the bge
> really interrupted.
Leaving the other issues aside: why should the bge not always claim that
the interrupt was _not_ for it? Because that would generate "spurious
interrupt N" messages on the system console?
Perhaps we need a way for the driver to respond "I don't know" in such
cases, so the interrupt is still passed down the chain, but nothing