watchdog: enable it before setting timeout
function old new delta
watchdog_main 239 259 +20
static.enable - 4 +4
diff --git a/miscutils/watchdog.c b/miscutils/watchdog.c
index f85138e..893cef0 100644
--- a/miscutils/watchdog.c
+++ b/miscutils/watchdog.c
@@ -59,13 +59,20 @@
/* WDIOC_SETTIMEOUT takes seconds, not milliseconds */
htimer_duration = htimer_duration / 1000;
#ifndef WDIOC_SETTIMEOUT
-#error WDIOC_SETTIMEOUT is not defined, cannot compile watchdog applet
+# error WDIOC_SETTIMEOUT is not defined, cannot compile watchdog applet
#else
+# if defined WDIOC_SETOPTIONS && defined WDIOS_ENABLECARD
+ {
+ static const int enable = WDIOS_ENABLECARD;
+ ioctl_or_warn(3, WDIOC_SETOPTIONS, (void*) &enable);
+ }
+# endif
ioctl_or_warn(3, WDIOC_SETTIMEOUT, &htimer_duration);
#endif
+
#if 0
ioctl_or_warn(3, WDIOC_GETTIMEOUT, &htimer_duration);
- printf("watchdog: SW timer is %dms, HW timer is %dms\n",
+ printf("watchdog: SW timer is %dms, HW timer is %ds\n",
stimer_duration, htimer_duration * 1000);
#endif