]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit336460560d6496825f9cf6d8e9b0c8ca4ef159d1
tree37ea957522aa18a2d3f4fb62629e9e4ca0e7f38c
parent6d3ec1d7bad743ead98d66dc801d2f39d1b0917d
powerpc/irq: Fix bug with new lazy IRQ handling code

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>
arch/powerpc/kernel/entry_64.S
arch/powerpc/kernel/irq.c