[parisc-linux-cvs] linux-2.6 willy

James Bottomley James.Bottomley at SteelEye.com
Sun Jan 2 13:47:43 MST 2005


On Sun, 2005-01-02 at 13:08 -0700, Grant Grundler wrote:
> On Sat, Jan 01, 2005 at 04:02:33PM +0000, Matthew Wilcox wrote:
> > Right, you disable an interrupt, not an interrupt handler.
> 
> IMHO - this is wrong by design. It means one driver can mess
> with the behavior of another driver. e.g. shutting down one NIC
> could disable the interrupt for another NIC.

Heh, well, people design stupid cards.  The ideal is that you don't need
anything like this ... you simply stop the card from issuing interrupts.
However, if the card won't do this and you have to stop it interrupting
somehow, you're left with two choices:

1) Disable the interrupt routine.  The problem here is that the card
still asserts the interrupt so we get an unhandled interrupt, which
causes the kernel to get annoyed and disable the interrupt anyway.

2) Disable the interrupt.  Here we've stopped listening to any other
sharers of this interrupt as well.

Clearly, the best choice is to beat all the HW vendors up until they
allow the driver to disable the interrupt on the card.  However, if
we're reduced to a choice between these evils, I think what linux
chooses (number 2) is the slightly less evil one.

James




More information about the parisc-linux-cvs mailing list