powerpc/irq: Fix bug with new lazy IRQ handling code
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Tue, 8 May 2012 03:31:59 +0000 (13:31 +1000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Tue, 8 May 2012 23:42:21 +0000 (09:42 +1000)
We had a case where we could turn on hard interrupts while
leaving the PACA_IRQ_HARD_DIS bit set in the PACA. This can
in turn cause a BUG_ON() to hit in __check_irq_replay() due
to interrupt state getting out of sync.

The assembly code was also way too convoluted. Instead, we
now leave it to the C code to do the right thing which ends
up being smaller and more readable.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>

No differences found