Browse Source

powerpc/pmu/fsl: fix is_nmi test for irq mask change

When soft enabled was changed to irq disabled mask, this test missed
being converted (although the equivalent book3s test was converted).

The PMU drivers consider it an NMI when they take a PMI while general
interrupts are disabled. This change restores that behaviour.

Fixes: 01417c6cc7 ("powerpc/64: Change soft_enabled from flag to bitmask")
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Nicholas Piggin 7 years ago
parent
commit
81ea11d3af
1 changed files with 1 additions and 1 deletions
  1. 1 1
      arch/powerpc/perf/core-fsl-emb.c

+ 1 - 1
arch/powerpc/perf/core-fsl-emb.c

@@ -42,7 +42,7 @@ static DEFINE_MUTEX(pmc_reserve_mutex);
 static inline int perf_intr_is_nmi(struct pt_regs *regs)
 static inline int perf_intr_is_nmi(struct pt_regs *regs)
 {
 {
 #ifdef __powerpc64__
 #ifdef __powerpc64__
-	return !regs->softe;
+	return (regs->softe & IRQS_DISABLED);
 #else
 #else
 	return 0;
 	return 0;
 #endif
 #endif