[POWERPC] cell: hard disable interrupts in power_save()
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Wed, 22 Nov 2006 23:46:38 +0000 (00:46 +0100)
committerPaul Mackerras <paulus@samba.org>
Mon, 4 Dec 2006 09:40:21 +0000 (20:40 +1100)
commit5850dd8f6d4e79484d498c0d77b223d1041f9954
tree6fd2e813d5fb44b0fe028b8f80c7cbab02cbcc9e
parentbf1ab978be2318c5a564de9aa0f1a217b44170d4
[POWERPC] cell: hard disable interrupts in power_save()

With soft-disabled interrupts in power_save, we can
still get external exceptions on Cell, even if we are
in pause(0) a.k.a. sleep state.

When the CPU really wakes up through the 0x100 (system reset)
vector, while we have already started processing the 0x500
(external) exception, we get a panic in unrecoverable_exception()
because of the lost state.

This occurred in Systemsim for Cell, but as far as I can see,
it can theoretically occur on any machine that uses the
system reset exception to get out of sleep state.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
arch/powerpc/platforms/cell/pervasive.c