Re: [PATCH 07/10] watchdog: keembay: Update the check in keembay_wdt_resume()

From: Guenter Roeck
Date: Wed May 12 2021 - 10:02:12 EST


On Wed, May 12, 2021 at 02:17:21PM +0530, shruthi.sanil@xxxxxxxxx wrote:
> From: Shruthi Sanil <shruthi.sanil@xxxxxxxxx>
>
> Corrected the typo in the function keembay_wdt_resume, we need to
> enable the WDT if it is disabled/not active.
>
> Fixes: fa0f8d51e90d ("watchdog: Add watchdog driver for Intel Keembay Soc")
> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
> Tested-by: Kris Pan <kris.pan@xxxxxxxxx>
> Signed-off-by: Shruthi Sanil <shruthi.sanil@xxxxxxxxx>
> ---
> drivers/watchdog/keembay_wdt.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/watchdog/keembay_wdt.c b/drivers/watchdog/keembay_wdt.c
> index dd192b8dff55..10896415f8c7 100644
> --- a/drivers/watchdog/keembay_wdt.c
> +++ b/drivers/watchdog/keembay_wdt.c
> @@ -260,7 +260,7 @@ static int __maybe_unused keembay_wdt_resume(struct device *dev)
> {
> struct keembay_wdt *wdt = dev_get_drvdata(dev);
>
> - if (watchdog_active(&wdt->wdd))
> + if (!watchdog_active(&wdt->wdd))

Have you tested this ? "watchdog_active" refers to the watchdog core state.
Your code now keeps the watchdog stopped after resume if it was running before,
and starts it if it wasn't. Please run through a suspend/resume cycle with
watchdog disabled and see what happens.

Guenter

> return keembay_wdt_start(&wdt->wdd);
>
> return 0;
> --
> 2.17.1
>