diff mbox series

watchdog: only print critical log when the watchdog fails to be stopped

Message ID 20250126083850.34623-1-liuchao173@huawei.com (mailing list archive)
State New
Headers show
Series watchdog: only print critical log when the watchdog fails to be stopped | expand

Commit Message

Liu Chao Jan. 26, 2025, 8:38 a.m. UTC
Every time the user echoes 0 > /dev/watchdog0, meaningless critical log
is printed.

Signed-off-by: Liu Chao <liuchao173@huawei.com>
---
 drivers/watchdog/watchdog_dev.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

Comments

Guenter Roeck Jan. 26, 2025, 1:10 p.m. UTC | #1
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@huawei.com>
> ---
>   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);
>
diff mbox series

Patch

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);