diff options
| -rw-r--r-- | arch/x86/kernel/kgdb.c | 7 | ||||
| -rw-r--r-- | kernel/kgdb.c | 3 |
2 files changed, 4 insertions, 6 deletions
diff --git a/arch/x86/kernel/kgdb.c b/arch/x86/kernel/kgdb.c index 8282a2139681..10435a120d22 100644 --- a/arch/x86/kernel/kgdb.c +++ b/arch/x86/kernel/kgdb.c | |||
| @@ -455,12 +455,7 @@ static int __kgdb_notify(struct die_args *args, unsigned long cmd) | |||
| 455 | return NOTIFY_DONE; | 455 | return NOTIFY_DONE; |
| 456 | 456 | ||
| 457 | case DIE_NMI_IPI: | 457 | case DIE_NMI_IPI: |
| 458 | if (atomic_read(&kgdb_active) != -1) { | 458 | /* Just ignore, we will handle the roundup on DIE_NMI. */ |
| 459 | /* KGDB CPU roundup */ | ||
| 460 | kgdb_nmicallback(raw_smp_processor_id(), regs); | ||
| 461 | was_in_debug_nmi[raw_smp_processor_id()] = 1; | ||
| 462 | touch_nmi_watchdog(); | ||
| 463 | } | ||
| 464 | return NOTIFY_DONE; | 459 | return NOTIFY_DONE; |
| 465 | 460 | ||
| 466 | case DIE_NMIUNKNOWN: | 461 | case DIE_NMIUNKNOWN: |
diff --git a/kernel/kgdb.c b/kernel/kgdb.c index 25d955dbb989..e4dcfb2272a4 100644 --- a/kernel/kgdb.c +++ b/kernel/kgdb.c | |||
| @@ -590,6 +590,7 @@ static void kgdb_wait(struct pt_regs *regs) | |||
| 590 | 590 | ||
| 591 | /* Signal the primary CPU that we are done: */ | 591 | /* Signal the primary CPU that we are done: */ |
| 592 | atomic_set(&cpu_in_kgdb[cpu], 0); | 592 | atomic_set(&cpu_in_kgdb[cpu], 0); |
| 593 | touch_softlockup_watchdog(); | ||
| 593 | clocksource_touch_watchdog(); | 594 | clocksource_touch_watchdog(); |
| 594 | local_irq_restore(flags); | 595 | local_irq_restore(flags); |
| 595 | } | 596 | } |
| @@ -1432,6 +1433,7 @@ acquirelock: | |||
| 1432 | atomic_read(&kgdb_cpu_doing_single_step) != cpu) { | 1433 | atomic_read(&kgdb_cpu_doing_single_step) != cpu) { |
| 1433 | 1434 | ||
| 1434 | atomic_set(&kgdb_active, -1); | 1435 | atomic_set(&kgdb_active, -1); |
| 1436 | touch_softlockup_watchdog(); | ||
| 1435 | clocksource_touch_watchdog(); | 1437 | clocksource_touch_watchdog(); |
| 1436 | local_irq_restore(flags); | 1438 | local_irq_restore(flags); |
| 1437 | 1439 | ||
| @@ -1524,6 +1526,7 @@ acquirelock: | |||
| 1524 | kgdb_restore: | 1526 | kgdb_restore: |
| 1525 | /* Free kgdb_active */ | 1527 | /* Free kgdb_active */ |
| 1526 | atomic_set(&kgdb_active, -1); | 1528 | atomic_set(&kgdb_active, -1); |
| 1529 | touch_softlockup_watchdog(); | ||
| 1527 | clocksource_touch_watchdog(); | 1530 | clocksource_touch_watchdog(); |
| 1528 | local_irq_restore(flags); | 1531 | local_irq_restore(flags); |
| 1529 | 1532 | ||
