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@xxxxxxxxxxxx> --- v3: New patch --- include/linux/watchdog.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/linux/watchdog.h b/include/linux/watchdog.h index 5c7d0e9e1f3f..0d95b3a21556 100644 --- a/include/linux/watchdog.h +++ b/include/linux/watchdog.h @@ -141,9 +141,9 @@ 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 t > UINT_MAX / 1000 || + return t > UINT_MAX / 1000 || t < wdd->min_timeout || (!wdd->max_hw_timeout_ms && wdd->max_timeout && - (t < wdd->min_timeout || t > wdd->max_timeout)); + t > wdd->max_timeout); } /* Use the following functions to manipulate watchdog driver specific data */ -- 2.1.4 -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html