From: Benjamin Herrenschmidt Date: Thu, 15 Mar 2012 22:26:59 +0000 (+1100) Subject: powerpc: Fix power4/970 idle code regression with lockdep X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=01e8ec4417d3c484986af0adaa0ae6632e0a59cd;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git 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 --- 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) 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