If the userland tries to set a timeout higher than the max_timeout, then we should fallback to max_timeout. Signed-off-by: John Crispin <john@xxxxxxxxxxx> --- drivers/watchdog/ath79_wdt.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/watchdog/ath79_wdt.c b/drivers/watchdog/ath79_wdt.c index e2209bf5fa8a..c2fc6c3d0092 100644 --- a/drivers/watchdog/ath79_wdt.c +++ b/drivers/watchdog/ath79_wdt.c @@ -115,10 +115,14 @@ static inline void ath79_wdt_disable(void) static int ath79_wdt_set_timeout(int val) { - if (val < 1 || val > max_timeout) + if (val < 1) return -EINVAL; - timeout = val; + if (val > max_timeout) + timeout = max_timeout; + else + timeout = val; + ath79_wdt_keepalive(); return 0; -- 2.11.0 -- To unsubscribe from this list: send the line "unsubscribe linux-watchdog" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html