hc
2023-12-11 6778948f9de86c3cfaf36725a7c87dcff9ba247f
kernel/kernel/watchdog.c
....@@ -29,6 +29,10 @@
2929
3030 #include <trace/hooks/softlockup.h>
3131
32
+#if IS_ENABLED(CONFIG_ROCKCHIP_MINIDUMP)
33
+#include <soc/rockchip/rk_minidump.h>
34
+#endif
35
+
3236 static DEFINE_MUTEX(watchdog_mutex);
3337
3438 #if defined(CONFIG_HARDLOCKUP_DETECTOR) || defined(CONFIG_HAVE_NMI_WATCHDOG)
....@@ -412,12 +416,13 @@
412416 if (per_cpu(hard_watchdog_warn, next_cpu) == true)
413417 return;
414418
419
+ atomic_notifier_call_chain(&hardlock_notifier_list, next_cpu, NULL);
420
+
415421 if (hardlockup_panic)
416422 panic("Watchdog detected hard LOCKUP on cpu %u", next_cpu);
417423 else
418424 WARN(1, "Watchdog detected hard LOCKUP on cpu %u", next_cpu);
419425
420
- atomic_notifier_call_chain(&hardlock_notifier_list, 0, NULL);
421426 per_cpu(hard_watchdog_warn, next_cpu) = true;
422427 } else {
423428 per_cpu(hard_watchdog_warn, next_cpu) = false;
....@@ -541,6 +546,9 @@
541546
542547 trace_android_vh_watchdog_timer_softlockup(duration, regs, !!softlockup_panic);
543548 add_taint(TAINT_SOFTLOCKUP, LOCKDEP_STILL_OK);
549
+#if IS_ENABLED(CONFIG_ROCKCHIP_MINIDUMP)
550
+ rk_minidump_update_cpu_regs(regs);
551
+#endif
544552 if (softlockup_panic)
545553 panic("softlockup: hung tasks");
546554 }