diff options
author | Guenter Roeck <linux@roeck-us.net> | 2015-09-29 11:27:24 +0300 |
---|---|---|
committer | Wim Van Sebroeck <wim@iguana.be> | 2015-11-03 16:34:22 +0300 |
commit | 1e935949111e77b2b1b6fa550e88ff0573c2f4c7 (patch) | |
tree | a187cd45cb91719d4843817cb886756823152ef2 /include | |
parent | 8cbb97ea3e386eb95ecbd99260d681792963cebf (diff) | |
download | linux-1e935949111e77b2b1b6fa550e88ff0573c2f4c7.tar.xz |
watchdog: Always evaluate new timeout against min_timeout
Up to now, a new timeout value is only evaluated against min_timeout
if max_timeout is provided. This does not really make sense; a driver
can have a minimum timeout even if it does not have a maximum timeout.
Ensure that it is not smaller than min_timeout, even if max_timeout
is not set.
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/watchdog.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/include/linux/watchdog.h b/include/linux/watchdog.h index d74a0e907b9e..e90e3ea5ebeb 100644 --- a/include/linux/watchdog.h +++ b/include/linux/watchdog.h @@ -119,8 +119,15 @@ static inline void watchdog_set_nowayout(struct watchdog_device *wdd, bool noway /* Use the following function to check if a timeout value is invalid */ static inline bool watchdog_timeout_invalid(struct watchdog_device *wdd, unsigned int t) { - return ((wdd->max_timeout != 0) && - (t < wdd->min_timeout || t > wdd->max_timeout)); + /* + * The timeout is invalid if + * - the requested value is smaller than the configured minimum timeout, + * or + * - a maximum timeout is configured, and the requested value is larger + * than the maximum timeout. + */ + return t < wdd->min_timeout || + (wdd->max_timeout && t > wdd->max_timeout); } /* Use the following functions to manipulate watchdog driver specific data */ |