Re: spurious 8259A interrupt
From: Maciej W. Rozycki
Date: Mon Mar 22 2004 - 04:16:00 EST
On Sun, 21 Mar 2004, Hans-Peter Jansen wrote:
> > The IRQ7 spurious is usually an artifact of a crappy motherboard
> > design where the CPU "thinks" it was interrupted, but the
> > controller didn't wiggle the CPUs INT line.
>
> Thanks for the nice explanation, Richard.
Unfortunately this needs not be the reason. Another possibility is a
crappy driver -- if a device generates a level-triggered interrupt which
does not deassert immediately after getting acked (perhaps because the IRQ
line is firmware-driven) and the handler in the driver doesn't ack it soon
enough, it's possible for the interrupt line to be still asserted after
exiting the handler. The processor may have enough time to accept the
interrupt again and with the right timing, the line may go inactive right
in a middle of the processor's interrupt acknowledge sequence. The 8259A
PIC will signal a spurious interrupt in this case.
--
+ Maciej W. Rozycki, Technical University of Gdansk, Poland +
+--------------------------------------------------------------+
+ e-mail: macro@xxxxxxxxxxxxx, PGP key available +
-
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/