diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-12 03:50:40 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-12 03:50:40 +0000 |
commit | fc53809803cd2bc2434e312b19a18fa36776da12 (patch) | |
tree | b4b43bd6538f51965ce32856e9c053d0f90919c8 /src/shared/clock-util.c | |
parent | Adding upstream version 255.5. (diff) | |
download | systemd-fc53809803cd2bc2434e312b19a18fa36776da12.tar.xz systemd-fc53809803cd2bc2434e312b19a18fa36776da12.zip |
Adding upstream version 256.upstream/256
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/shared/clock-util.c')
-rw-r--r-- | src/shared/clock-util.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/shared/clock-util.c b/src/shared/clock-util.c index b0cbe30..37d0232 100644 --- a/src/shared/clock-util.c +++ b/src/shared/clock-util.c @@ -27,10 +27,11 @@ int clock_get_hwclock(struct tm *tm) { if (fd < 0) return -errno; - /* This leaves the timezone fields of struct tm - * uninitialized! */ + /* This leaves the timezone fields of struct tm uninitialized! */ if (ioctl(fd, RTC_RD_TIME, tm) < 0) - return -errno; + /* Some drivers return -EINVAL in case the time could not be kept, i.e. power loss + * happened. Let's turn that into a clearly recognizable error */ + return errno == EINVAL ? -ENODATA : -errno; /* We don't know daylight saving, so we reset this in order not * to confuse mktime(). */ |