diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2012-03-15 18:26:59 -0400 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2012-03-15 18:28:17 -0400 |
commit | 01e8ec4417d3c484986af0adaa0ae6632e0a59cd (patch) | |
tree | 46c760b18c2c5f089ac4043f95de4fd420c1b082 /arch/powerpc/kernel/idle_power4.S | |
parent | 7d3d897a4697e4ff746e5e82f116b2346ed28150 (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>
Diffstat (limited to 'arch/powerpc/kernel/idle_power4.S')
-rw-r--r-- | arch/powerpc/kernel/idle_power4.S | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/idle_power4.S b/arch/powerpc/kernel/idle_power4.S index d8cdba4c28b2..2c71b0fc9f91 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) | |||
50 | addi r1,r1,128 | 50 | addi r1,r1,128 |
51 | ld r0,16(r1) | 51 | ld r0,16(r1) |
52 | mtlr r0 | 52 | mtlr r0 |
53 | mfmsr r7 | ||
53 | #endif /* CONFIG_TRACE_IRQFLAGS */ | 54 | #endif /* CONFIG_TRACE_IRQFLAGS */ |
54 | 55 | ||
55 | TRACE_ENABLE_INTS | ||
56 | li r0,1 | 56 | li r0,1 |
57 | stb r0,PACASOFTIRQEN(r13) /* we'll hard-enable shortly */ | 57 | stb r0,PACASOFTIRQEN(r13) /* we'll hard-enable shortly */ |
58 | BEGIN_FTR_SECTION | 58 | BEGIN_FTR_SECTION |