Merge tag 'riscv-for-linus-6.6-mw1' of git://git.kernel.org/pub/scm/linux/kernel...
[platform/kernel/linux-starfive.git] / kernel / watchdog.c
index 085d7a7..d145305 100644 (file)
@@ -151,9 +151,6 @@ void watchdog_hardlockup_check(unsigned int cpu, struct pt_regs *regs)
         */
        if (is_hardlockup(cpu)) {
                unsigned int this_cpu = smp_processor_id();
-               struct cpumask backtrace_mask;
-
-               cpumask_copy(&backtrace_mask, cpu_online_mask);
 
                /* Only print hardlockups once. */
                if (per_cpu(watchdog_hardlockup_warned, cpu))
@@ -167,10 +164,8 @@ void watchdog_hardlockup_check(unsigned int cpu, struct pt_regs *regs)
                                show_regs(regs);
                        else
                                dump_stack();
-                       cpumask_clear_cpu(cpu, &backtrace_mask);
                } else {
-                       if (trigger_single_cpu_backtrace(cpu))
-                               cpumask_clear_cpu(cpu, &backtrace_mask);
+                       trigger_single_cpu_backtrace(cpu);
                }
 
                /*
@@ -179,7 +174,7 @@ void watchdog_hardlockup_check(unsigned int cpu, struct pt_regs *regs)
                 */
                if (sysctl_hardlockup_all_cpu_backtrace &&
                    !test_and_set_bit(0, &watchdog_hardlockup_all_cpu_dumped))
-                       trigger_cpumask_backtrace(&backtrace_mask);
+                       trigger_allbutcpu_cpu_backtrace(cpu);
 
                if (hardlockup_panic)
                        nmi_panic(regs, "Hard LOCKUP");