[PATCH v2 0/2] watchdog: orion_wdt: stop the watchdog during system suspend

From: Igor Velkov via B4 Relay

Date: Sun Oct 11 2026 - 20:47:31 EST


The watchdog keeps counting across system suspend while the userspace
that pings it is frozen, so a Kobol Helios4 (Armada 388) resets 60 s
into s2idle. Patch 2 stops the timer on suspend and restarts it on
resume. Patch 1 fixes the Armada XP pretimeout that Sashiko spotted on
the restart path of v1; the same bug hits every start since
7a6b3d8a432d.

Tested on a Helios4 (v7.2.9). Unpatched, the board resets 60 s into
s2idle. With patch 2:
- watchdog daemon: three 120 s s2idle cycles, no reset;
- systemd RuntimeWatchdogSec=60s: one 120 s s2idle and one 120 s
standby cycle, no reset;
- the watchdog still fires after resume: freezing the daemon (SIGSTOP)
after the s2idle cycles reset the board in 61 s, a panic after
standby in 54 s.
Patch 1 is compile-tested only; I have no Armada XP.

Signed-off-by: Igor Velkov <iav@xxxxxx>
---
Changes in v2:
- Add patch 1, the Armada XP pretimeout reload (Sashiko).
- Keep pm_sleep_ptr(): it is the pairing for DEFINE_SIMPLE_DEV_PM_OPS()
(1a3c7bb08826).
- Link to v1: https://lore.kernel.org/r/20261012-orion-wdt-suspend-v1-1-1676cb79e29e@xxxxxx

---
Igor Velkov (2):
watchdog: orion_wdt: load the pretimeout counter on Armada 370/XP start
watchdog: orion_wdt: stop the watchdog during system suspend

drivers/watchdog/orion_wdt.c | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
---
base-commit: 8b5a9f09037e3c372c4e9f2fbda85fcfbf5ea5f0
change-id: 20261012-orion-wdt-suspend-08f276aafa14

Best regards,
--
Igor Velkov <iav@xxxxxx>