Re: Can BUG() also be used "safely" in interrupts?

Tommy Reynolds
2002-05-17T14:28:00Z

Uttered "Ingo Oeser" <ingo.oeser@informatik.tu-chemnitz.de>, spoke thus:

> I have a routine to be used in an ISR or BH, where I like to use
> BUG(), to flag real bugs the caller produces, if he uses it with
> wrong arguments (namely: check for asserted interrupts according
> to a mask and flag an BUG(), if the mask is bogus).
>
> So can BUG() be used in an ISR or BH?

BUG() is overkill here, since it breaks all existing spin locks trying to get
the error message printed by the kernel. Instead, why not just:

printk( KERN_WARN "spurious interrupt from my device\n" );

like everyone else does? Keep in mind that if you are sharing an interrupt
vector, each and every interrupt handler gets called for each and every
interrupt, so having the device driver check that the device to which it is
attached is really generating an interrupt is simple good form.