aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86_64/kernel/nmi.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/x86_64/kernel/nmi.c b/arch/x86_64/kernel/nmi.c
index 931c64bad5e6..edbbc59b7523 100644
--- a/arch/x86_64/kernel/nmi.c
+++ b/arch/x86_64/kernel/nmi.c
@@ -296,7 +296,7 @@ static DEFINE_PER_CPU(unsigned, last_irq_sum);
296static DEFINE_PER_CPU(local_t, alert_counter); 296static DEFINE_PER_CPU(local_t, alert_counter);
297static DEFINE_PER_CPU(int, nmi_touch); 297static DEFINE_PER_CPU(int, nmi_touch);
298 298
299void touch_nmi_watchdog (void) 299void touch_nmi_watchdog(void)
300{ 300{
301 if (nmi_watchdog > 0) { 301 if (nmi_watchdog > 0) {
302 unsigned cpu; 302 unsigned cpu;
@@ -306,8 +306,10 @@ void touch_nmi_watchdog (void)
306 * do it ourselves because the alert count increase is not 306 * do it ourselves because the alert count increase is not
307 * atomic. 307 * atomic.
308 */ 308 */
309 for_each_present_cpu (cpu) 309 for_each_present_cpu(cpu) {
310 per_cpu(nmi_touch, cpu) = 1; 310 if (per_cpu(nmi_touch, cpu) != 1)
311 per_cpu(nmi_touch, cpu) = 1;
312 }
311 } 313 }
312 314
313 touch_softlockup_watchdog(); 315 touch_softlockup_watchdog();