Selaa lähdekoodia

kgdb: call touch_softlockup_watchdog on resume

The softlockup watchdog needs to be touched when resuming the from the
kgdb stopped state to avoid the printk that a CPU is stuck if the
debugger was active for longer than the softlockup threshold.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Jason Wessel 16 vuotta sitten
vanhempi
commit
cc1e0f4f7a
1 muutettua tiedostoa jossa 3 lisäystä ja 0 poistoa
  1. 3 0
      kernel/kgdb.c

+ 3 - 0
kernel/kgdb.c

@@ -590,6 +590,7 @@ static void kgdb_wait(struct pt_regs *regs)
 
 
 	/* Signal the primary CPU that we are done: */
 	/* Signal the primary CPU that we are done: */
 	atomic_set(&cpu_in_kgdb[cpu], 0);
 	atomic_set(&cpu_in_kgdb[cpu], 0);
+	touch_softlockup_watchdog();
 	clocksource_touch_watchdog();
 	clocksource_touch_watchdog();
 	local_irq_restore(flags);
 	local_irq_restore(flags);
 }
 }
@@ -1432,6 +1433,7 @@ acquirelock:
 	    atomic_read(&kgdb_cpu_doing_single_step) != cpu) {
 	    atomic_read(&kgdb_cpu_doing_single_step) != cpu) {
 
 
 		atomic_set(&kgdb_active, -1);
 		atomic_set(&kgdb_active, -1);
+		touch_softlockup_watchdog();
 		clocksource_touch_watchdog();
 		clocksource_touch_watchdog();
 		local_irq_restore(flags);
 		local_irq_restore(flags);
 
 
@@ -1524,6 +1526,7 @@ acquirelock:
 kgdb_restore:
 kgdb_restore:
 	/* Free kgdb_active */
 	/* Free kgdb_active */
 	atomic_set(&kgdb_active, -1);
 	atomic_set(&kgdb_active, -1);
+	touch_softlockup_watchdog();
 	clocksource_touch_watchdog();
 	clocksource_touch_watchdog();
 	local_irq_restore(flags);
 	local_irq_restore(flags);