[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1650668718-13626-1-git-send-email-liuxp11@chinatelecom.cn>
Date: Sat, 23 Apr 2022 07:05:16 +0800
From: Liu Xinpeng <liuxp11@...natelecom.cn>
To: wim@...ux-watchdog.org, linux@...ck-us.net, groeck7@...il.com
Cc: linux-watchdog@...r.kernel.org, linux-kernel@...r.kernel.org,
Liu Xinpeng <liuxp11@...natelecom.cn>
Subject: [PATCH 1/3] watchdog: wdat_wdg: Checking the module parameter timeout
Setting up min_time, and determine if the timeout value is invalid
using the function watchdog_timeout_invalid.
Signed-off-by: Liu Xinpeng <liuxp11@...natelecom.cn>
---
drivers/watchdog/wdat_wdt.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/watchdog/wdat_wdt.c b/drivers/watchdog/wdat_wdt.c
index 195c8c004b69..3040a0554055 100644
--- a/drivers/watchdog/wdat_wdt.c
+++ b/drivers/watchdog/wdat_wdt.c
@@ -14,6 +14,7 @@
#include <linux/watchdog.h>
#define MAX_WDAT_ACTIONS ACPI_WDAT_ACTION_RESERVED
+#define WDAT_TIMEOUT_MIN 1
/**
* struct wdat_instruction - Single ACPI WDAT instruction
@@ -344,6 +345,7 @@ static int wdat_wdt_probe(struct platform_device *pdev)
wdat->period = tbl->timer_period;
wdat->wdd.min_hw_heartbeat_ms = wdat->period * tbl->min_count;
wdat->wdd.max_hw_heartbeat_ms = wdat->period * tbl->max_count;
+ wdat->wdd.min_timeout = WDAT_TIMEOUT_MIN;
wdat->stopped_in_sleep = tbl->flags & ACPI_WDAT_STOPPED;
wdat->wdd.info = &wdat_wdt_info;
wdat->wdd.ops = &wdat_wdt_ops;
@@ -450,8 +452,7 @@ static int wdat_wdt_probe(struct platform_device *pdev)
* watchdog properly after it has opened the device. In some cases
* the BIOS default is too short and causes immediate reboot.
*/
- if (timeout * 1000 < wdat->wdd.min_hw_heartbeat_ms ||
- timeout * 1000 > wdat->wdd.max_hw_heartbeat_ms) {
+ if (watchdog_timeout_invalid(&wdat->wdd, timeout)) {
dev_warn(dev, "Invalid timeout %d given, using %d\n",
timeout, WDAT_DEFAULT_TIMEOUT);
timeout = WDAT_DEFAULT_TIMEOUT;
--
2.23.0
Powered by blists - more mailing lists