Thread (2 messages) 2 messages, 2 authors, 2021-12-28

Re: [PATCH] watchdog: msc313e: Check if the WDT was running at boot

From: Guenter Roeck <linux@roeck-us.net>
Date: 2021-12-28 16:06:18
Also in: linux-watchdog, lkml

On 12/27/21 11:34 PM, Daniel Palmer wrote:
Check if the WDT was running at boot and set the running
flag if it was. This prevents the system from getting
rebooted if the userland daemon doesn't take over soon enough
or there isn't a userland daemon at all.

Signed-off-by: Daniel Palmer <redacted>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
quoted hunk ↗ jump to hunk
---
  drivers/watchdog/msc313e_wdt.c | 4 ++++
  1 file changed, 4 insertions(+)
diff --git a/drivers/watchdog/msc313e_wdt.c b/drivers/watchdog/msc313e_wdt.c
index 0d497aa0fb7d..90171431fc59 100644
--- a/drivers/watchdog/msc313e_wdt.c
+++ b/drivers/watchdog/msc313e_wdt.c
@@ -120,6 +120,10 @@ static int msc313e_wdt_probe(struct platform_device *pdev)
  	priv->wdev.max_timeout = U32_MAX / clk_get_rate(priv->clk);
  	priv->wdev.timeout = MSC313E_WDT_DEFAULT_TIMEOUT;
  
+	/* If the period is non-zero the WDT is running */
+	if (readw(priv->base + REG_WDT_MAX_PRD_L) | (readw(priv->base + REG_WDT_MAX_PRD_H) << 16))
+		set_bit(WDOG_HW_RUNNING, &priv->wdev.status);
+
  	watchdog_set_drvdata(&priv->wdev, priv);
  
  	watchdog_init_timeout(&priv->wdev, timeout, dev);

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help