From e94f9e720cda332b1c9f209cb579ba5bf7d82c61 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 6 Sep 2021 12:42:50 +0200 Subject: [PATCH] watchdog: no need to ping the device twice in watchdog_ping() if the device has just been opened --- src/shared/watchdog.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/shared/watchdog.c b/src/shared/watchdog.c index c49972c829..98532dbcb4 100644 --- a/src/shared/watchdog.c +++ b/src/shared/watchdog.c @@ -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"); -- 2.25.1