From: Denis Vlasenko Date: Mon, 20 Apr 2009 09:26:17 +0000 (-0000) Subject: watchdog: enable it before setting timeout X-Git-Tag: 1_15_0~306 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=e41fdbc2795e098887af2c5bff3294753b97ffb5;p=oweals%2Fbusybox.git 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 f85138e11..893cef0ac 100644 --- a/miscutils/watchdog.c +++ b/miscutils/watchdog.c @@ -59,13 +59,20 @@ int watchdog_main(int argc, char **argv) /* 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