drivers: watchdog: marvell_gti: Program the max_hw_heartbeat_ms
authorGeorge Cherian <george.cherian@marvell.com>
Mon, 9 Oct 2023 04:40:37 +0000 (10:10 +0530)
committerWim Van Sebroeck <wim@linux-watchdog.org>
Sun, 29 Oct 2023 18:45:08 +0000 (19:45 +0100)
Program the max_hw_heartbeat_ms value so that the watchdog_pretimeout
worker is activated. This kernel worker thread makes sure to ping the
watchdog in case the userspace is unable to do so. This kernel worker
ping will be done only till the full watchdog timeout there by
maintaining the watchdog functionality in case of a real hang.

Signed-off-by: George Cherian <george.cherian@marvell.com>
Signed-off-by: Bharat Bhushan <bbhushan2@marvell.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20231009044037.514570-2-bbhushan2@marvell.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
drivers/watchdog/marvell_gti_wdt.c

index e8e95c4a6a54e33da9ec33fd1092d8ec725b5275..098bb141a521e11347ab6d49a19bcf6a615def6d 100644 (file)
@@ -299,6 +299,7 @@ static int gti_wdt_probe(struct platform_device *pdev)
 
        /* Maximum timeout is 3 times the pretimeout */
        wdog_dev->max_timeout = max_pretimeout * 3;
+       wdog_dev->max_hw_heartbeat_ms = max_pretimeout * 1000;
        /* Minimum first timeout (pretimeout) is 1, so min_timeout as 3 */
        wdog_dev->min_timeout = 3;
        wdog_dev->timeout = wdog_dev->pretimeout;