On Tue, 2008-04-22 at 12:13 +0200, Rogier Wolff wrote:
But free_irq at interrupt time has great chances of crashing the machine
or currupting data structures in subtle ways. You should -not- do that.
Either let the kernel handle the runaway interrupt, or eventually if you
want to be brutal, call disable_irq_nosync yourself, but not free_irq.
It would be if you used something like disable_irq_nosync. Not free_irq.
The later is just bogus.
Well, if you know how to trigger the bug, it would be useful to verify
that the kernel generic code properly detects and masks the runaway
interrupt. If that works, then remove your code completely. If not, it
would be useful to figure out why :-) But either way, just replace it
with disable_irq_nosync.
Cheers,
Ben.
--