On 1/26/25 00:38, Liu Chao wrote:
Every time the user echoes 0 > /dev/watchdog0, meaningless critical log
is printed.
It is not meaningless, and it will still be displayed after this change,
making the change pointless.
Guenter
Signed-off-by: Liu Chao <liuchao173@xxxxxxxxxx>
---
drivers/watchdog/watchdog_dev.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/drivers/watchdog/watchdog_dev.c b/drivers/watchdog/watchdog_dev.c
index e2bd266b1b5b..0a9d5e6f3a88 100644
--- a/drivers/watchdog/watchdog_dev.c
+++ b/drivers/watchdog/watchdog_dev.c
@@ -960,14 +960,15 @@ static int watchdog_release(struct inode *inode, struct file *file)
if (!watchdog_active(wdd))
err = 0;
else if (test_and_clear_bit(_WDOG_ALLOW_RELEASE, &wd_data->status) ||
- !(wdd->info->options & WDIOF_MAGICCLOSE))
+ !(wdd->info->options & WDIOF_MAGICCLOSE)) {
err = watchdog_stop(wdd);
+ if (err < 0)
+ pr_crit("watchdog%d: watchdog did not stop!\n", wdd->id);
+ }
/* If the watchdog was not stopped, send a keepalive ping */
- if (err < 0) {
- pr_crit("watchdog%d: watchdog did not stop!\n", wdd->id);
+ if (err < 0)
watchdog_ping(wdd);
- }
watchdog_update_worker(wdd);