Loading kernel/watchdog.c +3 −5 Original line number Diff line number Diff line Loading @@ -512,14 +512,12 @@ void watchdog_enable(unsigned int cpu) void watchdog_disable(unsigned int cpu) { struct hrtimer *hrtimer = this_cpu_ptr(&watchdog_hrtimer); unsigned int *enabled = this_cpu_ptr(&watchdog_en); struct hrtimer *hrtimer = per_cpu_ptr(&watchdog_hrtimer, cpu); unsigned int *enabled = per_cpu_ptr(&watchdog_en, cpu); if (!*enabled) return; WARN_ON_ONCE(cpu != smp_processor_id()); /* * Disable the perf event first. That prevents that a large delay * between disabling the timer and disabling the perf event causes Loading @@ -527,7 +525,7 @@ void watchdog_disable(unsigned int cpu) */ watchdog_nmi_disable(cpu); hrtimer_cancel(hrtimer); wait_for_completion(this_cpu_ptr(&softlockup_completion)); wait_for_completion(per_cpu_ptr(&softlockup_completion, cpu)); /* * No need for barrier here since disabling the watchdog is Loading Loading
kernel/watchdog.c +3 −5 Original line number Diff line number Diff line Loading @@ -512,14 +512,12 @@ void watchdog_enable(unsigned int cpu) void watchdog_disable(unsigned int cpu) { struct hrtimer *hrtimer = this_cpu_ptr(&watchdog_hrtimer); unsigned int *enabled = this_cpu_ptr(&watchdog_en); struct hrtimer *hrtimer = per_cpu_ptr(&watchdog_hrtimer, cpu); unsigned int *enabled = per_cpu_ptr(&watchdog_en, cpu); if (!*enabled) return; WARN_ON_ONCE(cpu != smp_processor_id()); /* * Disable the perf event first. That prevents that a large delay * between disabling the timer and disabling the perf event causes Loading @@ -527,7 +525,7 @@ void watchdog_disable(unsigned int cpu) */ watchdog_nmi_disable(cpu); hrtimer_cancel(hrtimer); wait_for_completion(this_cpu_ptr(&softlockup_completion)); wait_for_completion(per_cpu_ptr(&softlockup_completion, cpu)); /* * No need for barrier here since disabling the watchdog is Loading