From: Nicholas Piggin Date: Fri, 29 Sep 2017 03:29:37 +0000 (+1000) Subject: powerpc/watchdog: Do not panic from locked CPU's IPI handler X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=842dc1dbabb5e874550b52d896851e5e53e28a5f;p=openwrt%2Fstaging%2Fblogic.git powerpc/watchdog: Do not panic from locked CPU's IPI handler The SMP watchdog will detect locked CPUs and IPI them to print a backtrace and registers. If panic on hard lockup is enabled, do not panic from this handler, because that can cause recursion into the IPI layer during the panic. The caller already panics in this case. Signed-off-by: Nicholas Piggin Signed-off-by: Michael Ellerman --- diff --git a/arch/powerpc/kernel/watchdog.c b/arch/powerpc/kernel/watchdog.c index 2f6eadd9408d..532a1adbe89b 100644 --- a/arch/powerpc/kernel/watchdog.c +++ b/arch/powerpc/kernel/watchdog.c @@ -97,8 +97,7 @@ static void wd_lockup_ipi(struct pt_regs *regs) else dump_stack(); - if (hardlockup_panic) - nmi_panic(regs, "Hard LOCKUP"); + /* Do not panic from here because that can recurse into NMI IPI layer */ } static void set_cpumask_stuck(const struct cpumask *cpumask, u64 tb)