[PATCH] watchdog: meson_gxbb_wdt: fix suspend/resume handling of HW_RUNNING watchdog
Guenter Roeck
linux at roeck-us.net
Mon Oct 26 19:59:24 PDT 2026
On Tue, Oct 20, 2026 at 08:28:37PM +0300, Igor Velkov wrote:
> From: Igor Velkov <iav at iav.lv>
>
> meson_gxbb_wdt_suspend() and meson_gxbb_wdt_resume() only check
> watchdog_active(). Since commit 6adbfbab0f03 ("watchdog: meson: keep
> running if already active"), probe keeps a watchdog left running by the
> bootloader and sets WDOG_HW_RUNNING. If userspace never opens the
> device, WDOG_ACTIVE stays clear and the timer is not stopped for system
> suspend.
>
> On an ODROID-HC4 (S905X3) whose U-Boot starts the watchdog, with no
> userspace owner, the board does not wake from deep suspend
> (rtcwake -m mem -s 60) in 2 of 2 attempts and needs a power cycle.
>
> Stop the timer on suspend and restart it on resume also when it is only
> running in hardware, as sp805_wdt does. With this change the board
> wakes from deep suspend in 4 of 4 attempts, and the kernel pings the
> watchdog again after resume.
>
> Fixes: 6adbfbab0f03 ("watchdog: meson: keep running if already active")
> Assisted-by: LLM
> Signed-off-by: Igor Velkov <iav at iav.lv>
Applied.
Thanks,
Guenter
More information about the linux-arm-kernel
mailing list