aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/rtc/rtc-efi.c
diff options
context:
space:
mode:
authorArd Biesheuvel <ardb@kernel.org>2023-02-17 15:23:38 +0100
committerAlexandre Belloni <alexandre.belloni@bootlin.com>2023-02-22 21:07:53 +0100
commit668a2abf91143caa226b3ccd0bd4d79ea85935a6 (patch)
treeb02962f76da3b0c2ad123a8425336083bf8127c7 /drivers/rtc/rtc-efi.c
parent303eac653a181be59674920725142cfbdd5ba4cd (diff)
downloadlinux-668a2abf91143caa226b3ccd0bd4d79ea85935a6.tar.gz
rtc: efi: Avoid spamming the log on RTC read failure
There are cases where the EFI runtime services may end up in a funny state, e.g., due to a crash in the variable services, and this affects other EFI runtime services as well. That means that, even though GetTime() should not return an error, there are cases where it might, and there is no point in logging such an occurrence multiple times. This works around an issue where user space -apparently- keeps hitting on /dev/rtc if it fails to read the h/w clock, resulting in a tsunami of log spam and a non-responsive system as a result. Cc: Pierre Gondois <pierre.gondois@arm.com> Cc: Alexandru Elisei <alexandru.elisei@arm.com> Link: https://lore.kernel.org/all/Y2o1hdZK9GGDVJsS@monolith.localdoman/ Signed-off-by: Ard Biesheuvel <ardb@kernel.org> Link: https://lore.kernel.org/r/20230217142338.1444509-1-ardb@kernel.org Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Diffstat (limited to 'drivers/rtc/rtc-efi.c')
-rw-r--r--drivers/rtc/rtc-efi.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/rtc/rtc-efi.c b/drivers/rtc/rtc-efi.c
index 1e8bc6cc1e12d..dc6b0f4a54e2e 100644
--- a/drivers/rtc/rtc-efi.c
+++ b/drivers/rtc/rtc-efi.c
@@ -164,7 +164,7 @@ static int efi_read_time(struct device *dev, struct rtc_time *tm)
if (status != EFI_SUCCESS) {
/* should never happen */
- dev_err(dev, "can't read time\n");
+ dev_err_once(dev, "can't read time\n");
return -EINVAL;
}