aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2012-03-16 09:26:59 +1100
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2012-03-16 09:28:17 +1100
commit01e8ec4417d3c484986af0adaa0ae6632e0a59cd (patch)
tree46c760b18c2c5f089ac4043f95de4fd420c1b082
parent7d3d897a4697e4ff746e5e82f116b2346ed28150 (diff)
powerpc: Fix power4/970 idle code regression with lockdep
in commit 7230c5644188cd9e3fb380cc97dde00c464a3ba7 "powerpc: Rework lazy-interrupt handling" I introduced a regression, accidentally calling irq tracing twice and not properly restoring a clobbered register (r7) later used for writing to the MSR. This caused lockups when booting on a G5 with lockdep enabled. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
-rw-r--r--arch/powerpc/kernel/idle_power4.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/idle_power4.S b/arch/powerpc/kernel/idle_power4.S
index d8cdba4c28b..2c71b0fc9f9 100644
--- a/arch/powerpc/kernel/idle_power4.S
+++ b/arch/powerpc/kernel/idle_power4.S
@@ -50,9 +50,9 @@ END_FTR_SECTION_IFCLR(CPU_FTR_CAN_NAP)
addi r1,r1,128
ld r0,16(r1)
mtlr r0
+ mfmsr r7
#endif /* CONFIG_TRACE_IRQFLAGS */
- TRACE_ENABLE_INTS
li r0,1
stb r0,PACASOFTIRQEN(r13) /* we'll hard-enable shortly */
BEGIN_FTR_SECTION