From: Nicholas Piggin Date: Tue, 1 Aug 2017 12:00:51 +0000 (+1000) Subject: powerpc/64s: Fix mce accounting for powernv X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=f886f0f6e0e20d53dc36421c2ee83fb9277554af;p=openwrt%2Fstaging%2Fblogic.git powerpc/64s: Fix mce accounting for powernv On 64-bit Book3s, when we're in HV mode, we have already counted the machine check exception in machine_check_early(). Signed-off-by: Nicholas Piggin [mpe: Use IS_ENABLED() rather than an #ifdef] Signed-off-by: Michael Ellerman --- diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c index bfcfd9ef09f2..d42c567e3c29 100644 --- a/arch/powerpc/kernel/traps.c +++ b/arch/powerpc/kernel/traps.c @@ -755,7 +755,9 @@ void machine_check_exception(struct pt_regs *regs) enum ctx_state prev_state = exception_enter(); int recover = 0; - __this_cpu_inc(irq_stat.mce_exceptions); + /* 64s accounts the mce in machine_check_early when in HVMODE */ + if (!IS_ENABLED(CONFIG_PPC_BOOK3S_64) || !cpu_has_feature(CPU_FTR_HVMODE)) + __this_cpu_inc(irq_stat.mce_exceptions); add_taint(TAINT_MACHINE_CHECK, LOCKDEP_NOW_UNRELIABLE);