Linux-2.1.83 - fixed irq handling..

Linus Torvalds (torvalds@transmeta.com)
Fri, 30 Jan 1998 15:43:15 -0800 (PST)


Ok,
I just put 2.1.83 on ftp.kernel.org, and this one should fix a nasty
problem with interrupts in 2.1.82 where a bottom half handler that tried
to disable interrupts was only able to disable them on the local CPU
rather than globally. Oops (it is still true that if you try to disable
interrupts from within a hardware interrupt handler it will refuse to try
to disable them globally due to deadlock reasons, but the fact that the
test for that also triggered in a bottom half routine was a big bug).

The fix for this actually also simplifies the SMP IRQ handling further,
and I'm reasonably confident that it should be correct (modulo any bad
drivers that try to disable interrupt globally from within an interrupt: I
hope and believe that is not an issue for us).

As the patch is so small, I'll just include an uuencoded version here too,

Linus

----
begin 664 patch-2.1.83.gz
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
FHW#'"D%@%2P2KI-T160^F,=P?BU/%\:LHS'C+/\'Y-:FN+DT````
`
end