watchdog: no need to ping the device twice in watchdog_ping() if the device has just been opened

This commit is contained in:
Franck Bui
2021-09-15 11:32:21 +02:00
parent 564096795e
commit e94f9e720c
+4 -7
View File
@@ -138,11 +138,14 @@ usec_t watchdog_runtime_wait(void) {
int watchdog_ping(void) {
usec_t ntime;
int r;
if (!timestamp_is_set(watchdog_timeout))
return 0;
if (watchdog_fd < 0)
/* open_watchdog() will automatically ping the device for us if necessary */
return open_watchdog();
ntime = now(clock_boottime_or_monotonic());
/* Never ping earlier than watchdog_timeout/4 and try to ping
@@ -153,12 +156,6 @@ int watchdog_ping(void) {
return 0;
}
if (watchdog_fd < 0) {
r = open_watchdog();
if (r < 0)
return r;
}
if (ioctl(watchdog_fd, WDIOC_KEEPALIVE, 0) < 0)
return log_warning_errno(errno, "Failed to ping hardware watchdog: %m");