[PATCH v3 2/3] power: reset: pscrr: add watchdog pretimeout reason tracking

From: Faruque Ansari

Date: Tue Aug 04 2026 - 05:27:22 EST


Watchdog pretimeout resets are not recorded with a dedicated reason,
causing subsequent boots to report PSCR_UNKNOWN and making it difficult
to distinguish them from other unexpected resets.

Add PSCR_WATCHDOG_PRETIMEOUT as a dedicated reason code and prevent the
panic notifier from overwriting a watchdog pretimeout reason with
PSCR_KERNEL_PANIC when the pretimeout governor triggers a panic.

Signed-off-by: Faruque Ansari <faruque.ansari@xxxxxxxxxxxxxxxx>
---
drivers/power/reset/pscrr/pscrr.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/drivers/power/reset/pscrr/pscrr.c b/drivers/power/reset/pscrr/pscrr.c
index 8c45b84059a9..b7e6239e207e 100644
--- a/drivers/power/reset/pscrr/pscrr.c
+++ b/drivers/power/reset/pscrr/pscrr.c
@@ -529,12 +529,15 @@ static struct notifier_block pscrr_reboot_nb = {
static int pscrr_panic_notifier(struct notifier_block *nb,
unsigned long action, void *unused)
{
- struct pscrr_provider_dir *dir;

- set_psc_reason(PSCR_KERNEL_PANIC);
+ /*
+ * Do not overwrite a watchdog pretimeout reason already set by the
+ * pretimeout path before it triggered this panic.
+ */
+ if (get_psc_reason() != PSCR_WATCHDOG_PRETIMEOUT)
+ set_psc_reason(PSCR_KERNEL_PANIC);

- list_for_each_entry(dir, &pscrr_dirs, node)
- pscrr_do_record(dir, get_psc_reason());
+ pscrr_record_current();

return NOTIFY_DONE;
}

--
2.34.1