chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
watchdog: Don't require WDIOC_SETOPTIONS/WDIOS_ENABLECARD
[elogind.git]
/
src
/
shared
/
watchdog.c
diff --git
a/src/shared/watchdog.c
b/src/shared/watchdog.c
index 2fe4eb81cfbeb6afcbf4dce27e5eba5cbef19f27..9d39beb3404deee679733c33f1d14ea43da890bc 100644
(file)
--- a/
src/shared/watchdog.c
+++ b/
src/shared/watchdog.c
@@
-60,8
+60,13
@@
static int update_timeout(void) {
flags = WDIOS_ENABLECARD;
r = ioctl(watchdog_fd, WDIOC_SETOPTIONS, &flags);
flags = WDIOS_ENABLECARD;
r = ioctl(watchdog_fd, WDIOC_SETOPTIONS, &flags);
- if (r < 0)
- return log_warning_errno(errno, "Failed to enable hardware watchdog: %m");
+ if (r < 0) {
+ /* ENOTTY means the watchdog is always enabled so we're fine */
+ log_full(errno == ENOTTY ? LOG_DEBUG : LOG_WARNING,
+ "Failed to enable hardware watchdog: %m");
+ if (errno != ENOTTY)
+ return -errno;
+ }
r = ioctl(watchdog_fd, WDIOC_KEEPALIVE, 0);
if (r < 0)
r = ioctl(watchdog_fd, WDIOC_KEEPALIVE, 0);
if (r < 0)