diff options
Diffstat (limited to 'arch/x86_64/kernel/nmi.c')
-rw-r--r-- | arch/x86_64/kernel/nmi.c | 8 |
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); | |||
296 | static DEFINE_PER_CPU(local_t, alert_counter); | 296 | static DEFINE_PER_CPU(local_t, alert_counter); |
297 | static DEFINE_PER_CPU(int, nmi_touch); | 297 | static DEFINE_PER_CPU(int, nmi_touch); |
298 | 298 | ||
299 | void touch_nmi_watchdog (void) | 299 | void 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(); |