diff options
-rw-r--r-- | arch/sparc/kernel/rtrap_64.S | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/sparc/kernel/rtrap_64.S b/arch/sparc/kernel/rtrap_64.S index 39f0c662f4c8..d08bdaffdbfc 100644 --- a/arch/sparc/kernel/rtrap_64.S +++ b/arch/sparc/kernel/rtrap_64.S | |||
@@ -73,7 +73,13 @@ rtrap_nmi: ldx [%sp + PTREGS_OFF + PT_V9_TSTATE], %l1 | |||
73 | andn %l1, %l4, %l1 | 73 | andn %l1, %l4, %l1 |
74 | srl %l4, 20, %l4 | 74 | srl %l4, 20, %l4 |
75 | ba,pt %xcc, rtrap_no_irq_enable | 75 | ba,pt %xcc, rtrap_no_irq_enable |
76 | wrpr %l4, %pil | 76 | nop |
77 | /* Do not actually set the %pil here. We will do that | ||
78 | * below after we clear PSTATE_IE in the %pstate register. | ||
79 | * If we re-enable interrupts here, we can recurse down | ||
80 | * the hardirq stack potentially endlessly, causing a | ||
81 | * stack overflow. | ||
82 | */ | ||
77 | 83 | ||
78 | .align 64 | 84 | .align 64 |
79 | .globl rtrap_irq, rtrap, irqsz_patchme, rtrap_xcall | 85 | .globl rtrap_irq, rtrap, irqsz_patchme, rtrap_xcall |