From: Pratyush Anand <pan...@redhat.com>

When max_hw_heartbeat_ms has a none zero value, max_timeout is not used.
So it's value can be 0. In such case if a driver uses min_timeout
functionality, then check will always fail.

This patch fixes above issue.

Signed-off-by: Pratyush Anand <pan...@redhat.com>
Signed-off-by: Fu Wei <fu....@linaro.org>
---
 drivers/watchdog/watchdog_core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/watchdog/watchdog_core.c b/drivers/watchdog/watchdog_core.c
index 7c3ba58..65e62d1 100644
--- a/drivers/watchdog/watchdog_core.c
+++ b/drivers/watchdog/watchdog_core.c
@@ -88,7 +88,7 @@ static void watchdog_check_min_max_timeout(struct 
watchdog_device *wdd)
         * Check that we have valid min and max timeout values, if
         * not reset them both to 0 (=not used or unknown)
         */
-       if (wdd->min_timeout > wdd->max_timeout) {
+       if (!wdd->max_hw_heartbeat_ms && wdd->min_timeout > wdd->max_timeout) {
                pr_info("Invalid min and max timeout values, resetting to 
0!\n");
                wdd->min_timeout = 0;
                wdd->max_timeout = 0;
-- 
2.5.5

Reply via email to