watchdog: renesas_wdt: stop when unregistering
authorWolfram Sang <wsa+renesas@sang-engineering.com>
Tue, 28 Aug 2018 10:13:48 +0000 (12:13 +0200)
committerWim Van Sebroeck <wim@linux-watchdog.org>
Tue, 2 Oct 2018 11:32:24 +0000 (13:32 +0200)
We want to go into a sane state when unregistering. Currently, it
happens that the watchdog stops when unbinding because of RuntimePM
stopping the core clock. When rebinding, the core clock gets reactivated
and the watchdog fires even though it hasn't been opened by userspace
yet. Strange scenario, yes, but sane state is much preferred anyhow.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
drivers/watchdog/renesas_wdt.c

index 84bb9d32818094c33db5e938502947ffacaf82f2..0d74c3e48979709c84a8b39823b5633ab7acae33 100644 (file)
@@ -231,6 +231,7 @@ static int rwdt_probe(struct platform_device *pdev)
        watchdog_set_drvdata(&priv->wdev, priv);
        watchdog_set_nowayout(&priv->wdev, nowayout);
        watchdog_set_restart_priority(&priv->wdev, 0);
+       watchdog_stop_on_unregister(&priv->wdev);
 
        /* This overrides the default timeout only if DT configuration was found */
        ret = watchdog_init_timeout(&priv->wdev, 0, &pdev->dev);