From a4c493ae42926ab36fdc805a5da9f0682bb98b45 Mon Sep 17 00:00:00 2001
From: Matt Spinler <spinler@us.ibm.com>
Date: Tue, 13 Jun 2017 15:26:49 -0500
Subject: [PATCH] Stop watchdog first on startup

Some watchdog implementations may do things other than issue
a reboot on a watchdog timeout.  In this case, there's the
possibility of restarting this program from the state of
the watchdog device not being properly stopped (done by writing
a 'V' and closing the device).  Since it wasn't stopped, the
driver may not be able to restart the watchdog when this program
reopens it and starts pinging it.

To fix this, the code will always first issue the stop when it
starts up.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
---
 miscutils/watchdog.c | 21 +++++++++++++++++++--
 1 file changed, 19 insertions(+), 2 deletions(-)

diff --git a/miscutils/watchdog.c b/miscutils/watchdog.c
index 07ae64e52..223e3c32d 100644
--- a/miscutils/watchdog.c
+++ b/miscutils/watchdog.c
@@ -53,6 +53,24 @@ static void watchdog_shutdown(int sig UNUSED_PARAM)
 	_exit(EXIT_SUCCESS);
 }
 
+static void watchdog_open(const char* device)
+{
+	static const char magic_value = 'V';
+
+	/* If the watchdog driver can do something other than cause a reboot
+	 * on a timeout, then it's possible this program may be starting from
+	 * a state when the watchdog hadn't been previously stopped with
+	 * the magic write followed by a close.  In this case the driver may
+	 * not start properly, so always do the proper stop first just in case.
+	 */
+
+	/* Use known fd # - avoid needing global 'int fd' */
+	xmove_fd(xopen(device, O_WRONLY), 3);
+	write(3, &magic_value, 1);
+	close(3);
+	xmove_fd(xopen(device, O_WRONLY), 3);
+}
+
 int watchdog_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int watchdog_main(int argc, char **argv)
 {
@@ -88,8 +106,7 @@ int watchdog_main(int argc, char **argv)
 
 	bb_signals(BB_FATAL_SIGS, watchdog_shutdown);
 
-	/* Use known fd # - avoid needing global 'int fd' */
-	xmove_fd(xopen(argv[argc - 1], O_WRONLY), 3);
+	watchdog_open(argv[argc - 1]);
 
 	/* WDIOC_SETTIMEOUT takes seconds, not milliseconds */
 	htimer_duration = htimer_duration / 1000;
-- 
2.11.0

