From 17bedd93623f27e773775b7164d27b7e9edfdf4b Mon Sep 17 00:00:00 2001 From: Ahmad Fatoum Date: Mon, 26 Apr 2021 13:34:07 +0200 Subject: sandbox: watchdog: don't return positive values from set_timeout linux_watchdog_set_timeout() does return alarm(), which can never fail and returns either zero or a positive value. watchdog::set_timeout on the other hand should return either 0 or a negative number on error. Ignore linux_watchdog_set_timeout()'s return value, so watchdog_set_timeout propagates the correct value. This fixes an issue where seconds_to_expire wasn't updated on subsequent pings of this watchdog. Signed-off-by: Ahmad Fatoum Link: https://lore.barebox.org/20210426113408.24903-1-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer --- arch/sandbox/board/watchdog.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/sandbox/board/watchdog.c b/arch/sandbox/board/watchdog.c index 336451282f..e1cff7a0bf 100644 --- a/arch/sandbox/board/watchdog.c +++ b/arch/sandbox/board/watchdog.c @@ -29,7 +29,8 @@ static int sandbox_watchdog_set_timeout(struct watchdog *wdd, unsigned int timeo if (timeout > wdd->timeout_max) return -EINVAL; - return linux_watchdog_set_timeout(timeout); + linux_watchdog_set_timeout(timeout); + return 0; } static int sandbox_watchdog_probe(struct device_d *dev) -- cgit v1.2.3