summaryrefslogtreecommitdiffstats
path: root/drivers/watchdog
diff options
context:
space:
mode:
authorOleksij Rempel <o.rempel@pengutronix.de>2018-03-13 09:33:26 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2018-03-23 07:35:24 +0100
commite22f2aa1671159b2a5dfc276f2bd913aa3e1022e (patch)
treef0d7a564969248fe396a90a050450788035856cd /drivers/watchdog
parentdc16077260f59df5d22b02c189a4187c27cc3367 (diff)
downloadbarebox-e22f2aa1671159b2a5dfc276f2bd913aa3e1022e.tar.gz
barebox-e22f2aa1671159b2a5dfc276f2bd913aa3e1022e.tar.xz
watchdog: set some reasonable timeout_max value if no other is available
Some drivers do not provide timeout_max value. Using some value is probably better then setting timeout_max to 0. Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/watchdog')
-rw-r--r--drivers/watchdog/wd_core.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/watchdog/wd_core.c b/drivers/watchdog/wd_core.c
index 6f9c2707a7..845234114d 100644
--- a/drivers/watchdog/wd_core.c
+++ b/drivers/watchdog/wd_core.c
@@ -59,8 +59,14 @@ int watchdog_register(struct watchdog *wd)
if (!wd->priority)
wd->priority = WATCHDOG_DEFAULT_PRIORITY;
- dev_add_param_uint32_ro(&wd->dev, "timeout_max",
+ /* set some default sane value */
+ if (!wd->timeout_max)
+ wd->timeout_max = 60 * 60 * 24;
+
+ p = dev_add_param_uint32_ro(&wd->dev, "timeout_max",
&wd->timeout_max, "%u");
+ if (IS_ERR(p))
+ return PTR_ERR(p);
list_add_tail(&wd->list, &watchdog_list);