richardphibel / rpms / systemd

Forked from rpms/systemd 2 years ago
Clone
Blob Blame History Raw
From 176ceed28620a9358c5528a039b74211187bcf13 Mon Sep 17 00:00:00 2001
From: Yu Watanabe <watanabe.yu+github@gmail.com>
Date: Mon, 14 Nov 2022 00:09:34 +0900
Subject: [PATCH] sleep: drop unnecessary temporal vaiable and initialization

(cherry picked from commit 2ed56afeb3c26596dbe44858559c92307778ff82)

Related: #2151612
---
 src/sleep/sleep.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c
index 11a2ba507d..039b123dcc 100644
--- a/src/sleep/sleep.c
+++ b/src/sleep/sleep.c
@@ -275,7 +275,7 @@ static int custom_timer_suspend(const SleepConfig *sleep_config) {
         while (battery_is_low() == 0) {
                 _cleanup_close_ int tfd = -1;
                 struct itimerspec ts = {};
-                usec_t suspend_interval = sleep_config->hibernate_delay_usec, total_suspend_interval;
+                usec_t suspend_interval;
                 bool woken_by_timer;
 
                 tfd = timerfd_create(CLOCK_BOOTTIME_ALARM, TFD_NONBLOCK|TFD_CLOEXEC);
@@ -287,11 +287,12 @@ static int custom_timer_suspend(const SleepConfig *sleep_config) {
                 if (r < 0)
                         return log_error_errno(r, "Error fetching battery capacity percentage: %m");
 
-                r = get_total_suspend_interval(last_capacity, &total_suspend_interval);
-                if (r < 0)
+                r = get_total_suspend_interval(last_capacity, &suspend_interval);
+                if (r < 0) {
                         log_debug_errno(r, "Failed to estimate suspend interval using previous discharge rate, ignoring: %m");
-                else
-                        suspend_interval = total_suspend_interval;
+                        /* In case of no battery or any errors, system suspend interval will be set to HibernateDelaySec=. */
+                        suspend_interval = sleep_config->hibernate_delay_usec;
+                }
 
                 usec_t before_timestamp = now(CLOCK_BOOTTIME);