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 | |
| 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>
| -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 |
