2019-04-10 13:38:42

by Bryan Tan

[permalink] [raw]
Subject: [PATCH] watchdog: wdat_wdt: fix get_timeleft call for wdat_wdt

The get_timeleft call for wdat_wdt was using ACPI_WDAT_GET_COUNTDOWN
when running an action on the device, which would return the configured
countdown, instead of ACPI_WDAT_GET_CURRENT_COUNTDOWN, which returns the
time left before the watchdog will fire. This change corrects that.

Signed-off-by: Bryan Tan <[email protected]>
---
drivers/watchdog/wdat_wdt.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/watchdog/wdat_wdt.c b/drivers/watchdog/wdat_wdt.c
index 56ad196..387892f 100644
--- a/drivers/watchdog/wdat_wdt.c
+++ b/drivers/watchdog/wdat_wdt.c
@@ -287,7 +287,7 @@ static unsigned int wdat_wdt_get_timeleft(struct watchdog_device *wdd)
struct wdat_wdt *wdat = to_wdat_wdt(wdd);
u32 periods = 0;

- wdat_wdt_run_action(wdat, ACPI_WDAT_GET_COUNTDOWN, 0, &periods);
+ wdat_wdt_run_action(wdat, ACPI_WDAT_GET_CURRENT_COUNTDOWN, 0, &periods);
return periods * wdat->period / 1000;
}

--
2.6.2


2019-04-10 16:29:31

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH] watchdog: wdat_wdt: fix get_timeleft call for wdat_wdt

On 4/10/19 5:49 AM, Bryan Tan wrote:
> The get_timeleft call for wdat_wdt was using ACPI_WDAT_GET_COUNTDOWN
> when running an action on the device, which would return the configured
> countdown, instead of ACPI_WDAT_GET_CURRENT_COUNTDOWN, which returns the
> time left before the watchdog will fire. This change corrects that.
>
> Signed-off-by: Bryan Tan <[email protected]>

Reviewed-by: Guenter Roeck <[email protected]>

> ---
> drivers/watchdog/wdat_wdt.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/watchdog/wdat_wdt.c b/drivers/watchdog/wdat_wdt.c
> index 56ad196..387892f 100644
> --- a/drivers/watchdog/wdat_wdt.c
> +++ b/drivers/watchdog/wdat_wdt.c
> @@ -287,7 +287,7 @@ static unsigned int wdat_wdt_get_timeleft(struct watchdog_device *wdd)
> struct wdat_wdt *wdat = to_wdat_wdt(wdd);
> u32 periods = 0;
>
> - wdat_wdt_run_action(wdat, ACPI_WDAT_GET_COUNTDOWN, 0, &periods);
> + wdat_wdt_run_action(wdat, ACPI_WDAT_GET_CURRENT_COUNTDOWN, 0, &periods);
> return periods * wdat->period / 1000;
> }
>
>