lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240130055118.1917086-1-jisheng.teoh@starfivetech.com>
Date: Tue, 30 Jan 2024 13:51:18 +0800
From: Ji Sheng Teoh <jisheng.teoh@...rfivetech.com>
To: Xingyu Wu <xingyu.wu@...rfivetech.com>,
	Samin Guo <samin.guo@...rfivetech.com>,
	Wim Van Sebroeck <wim@...ux-watchdog.org>,
	Guenter Roeck <linux@...ck-us.net>,
	Emil Renner Berthing <emil.renner.berthing@...onical.com>
Cc: Ley Foon Tan <leyfoon.tan@...rfivetech.com>,
	linux-watchdog@...r.kernel.org,
	linux-kernel@...r.kernel.org,
	Sia Jee Heng <jeeheng.sia@...rfivetech.com>
Subject: [PATCH] watchdog: starfive: check watchdog status before enabling in system resume

System resume will start and enable watchdog regardless of whether the
watchdog is enabled/disabled during a system suspend.
Add a check to the watchdog status and only start and enable the
watchdog if the watchdog status is running/active.

Signed-off-by: Sia Jee Heng <jeeheng.sia@...rfivetech.com>
Signed-off-by: Ji Sheng Teoh <jisheng.teoh@...rfivetech.com>
---
 drivers/watchdog/starfive-wdt.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/watchdog/starfive-wdt.c b/drivers/watchdog/starfive-wdt.c
index e28ead24c520..f72fc38a41f8 100644
--- a/drivers/watchdog/starfive-wdt.c
+++ b/drivers/watchdog/starfive-wdt.c
@@ -554,7 +554,10 @@ static int starfive_wdt_resume(struct device *dev)
 	starfive_wdt_set_reload_count(wdt, wdt->reload);
 	starfive_wdt_lock(wdt);
 
-	return starfive_wdt_start(wdt);
+	if (watchdog_active(&wdt->wdd))
+		return starfive_wdt_start(wdt);
+
+	return 0;
 }
 
 static int starfive_wdt_runtime_suspend(struct device *dev)
-- 
2.43.0


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ