From e85b586e92a53944abbe1263080c92e2b1c688ec Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 29 Apr 2025 14:00:13 +0100 Subject: [PATCH] watchdog: Reduce severity of release without stop Distinguish between releasing the watchdog without requesting that it is stopped, and failing to stop it when requested. The former is standard behaviour for systemd, while the latter may be unexpected. Signed-off-by: Phil Elwell --- drivers/watchdog/watchdog_dev.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) --- a/drivers/watchdog/watchdog_dev.c +++ b/drivers/watchdog/watchdog_dev.c @@ -943,7 +943,7 @@ static int watchdog_release(struct inode { struct watchdog_core_data *wd_data = file->private_data; struct watchdog_device *wdd; - int err = -EBUSY; + int err = EBUSY; /* +ve because this may be expected behaviour */ bool running; mutex_lock(&wd_data->lock); @@ -967,6 +967,9 @@ static int watchdog_release(struct inode if (err < 0) { pr_crit("watchdog%d: watchdog did not stop!\n", wdd->id); watchdog_ping(wdd); + } else if (err > 0) { + pr_info("watchdog%d: watchdog left running\n", wdd->id); + watchdog_ping(wdd); } watchdog_update_worker(wdd);