]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
watchdog: rti: of: honor timeout-sec property
authorAlexander Sverdlin <alexander.sverdlin@siemens.com>
Thu, 7 Nov 2024 20:38:28 +0000 (21:38 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 14 Dec 2024 18:51:31 +0000 (19:51 +0100)
commit 4962ee045d8f06638714d801ab0fb72f89c16690 upstream.

Currently "timeout-sec" Device Tree property is being silently ignored:
even though watchdog_init_timeout() is being used, the driver always passes
"heartbeat" == DEFAULT_HEARTBEAT == 60 as argument.

Fix this by setting struct watchdog_device::timeout to DEFAULT_HEARTBEAT
and passing real module parameter value to watchdog_init_timeout() (which
may now be 0 if not specified).

Cc: stable@vger.kernel.org
Fixes: 2d63908bdbfb ("watchdog: Add K3 RTI watchdog support")
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
Reviewed-by: Vignesh Raghavendra <vigneshr@ti.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20241107203830.1068456-1-alexander.sverdlin@siemens.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/watchdog/rti_wdt.c

index 7f2ca611a3f8ea5026380280a5c629c025cd4aff..23a078a91f6b0c234b07f3cf5ed2789daed76c85 100644 (file)
@@ -54,7 +54,7 @@
 
 #define MAX_HW_ERROR           250
 
-static int heartbeat = DEFAULT_HEARTBEAT;
+static int heartbeat;
 
 /*
  * struct to hold data for each WDT device
@@ -242,6 +242,7 @@ static int rti_wdt_probe(struct platform_device *pdev)
        wdd->min_timeout = 1;
        wdd->max_hw_heartbeat_ms = (WDT_PRELOAD_MAX << WDT_PRELOAD_SHIFT) /
                wdt->freq * 1000;
+       wdd->timeout = DEFAULT_HEARTBEAT;
        wdd->parent = dev;
 
        watchdog_set_drvdata(wdd, wdt);