]> git.ipfire.org Git - thirdparty/linux.git/commit
watchdog: sbsa: Adjust keepalive timeout to avoid MediaTek WS0 race condition
authorAaron Plattner <aplattner@nvidia.com>
Mon, 21 Jul 2025 23:06:39 +0000 (16:06 -0700)
committerWim Van Sebroeck <wim@linux-watchdog.org>
Mon, 28 Jul 2025 10:07:08 +0000 (12:07 +0200)
commit48defdf6b083f74a44e1f742db284960d3444aec
treeae4d0be1ef6635cca3dee0bd9e76e4c29c3208b3
parentac3dbb91e0167d017f44701dd51c1efe30d0c256
watchdog: sbsa: Adjust keepalive timeout to avoid MediaTek WS0 race condition

The MediaTek implementation of the sbsa_gwdt watchdog has a race
condition where a write to SBSA_GWDT_WRR is ignored if it occurs while
the hardware is processing a timeout refresh that asserts WS0.

Detect this based on the hardware implementer and adjust
wdd->min_hw_heartbeat_ms to avoid the race by forcing the keepalive ping
to be one second later.

Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Acked-by: Timur Tabi <ttabi@nvidia.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20250721230640.2244915-1-aplattner@nvidia.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
drivers/watchdog/sbsa_gwdt.c