summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRiwen Lu <luriwen@kylinos.cn>2022-01-06 11:46:09 +0300
committerAlexandre Belloni <alexandre.belloni@bootlin.com>2022-01-17 01:50:26 +0300
commitff164ae39b82ee483b24579c8e22a13a8ce5bd04 (patch)
tree47cf679dcb4c03687c7961a0b13c62ec7ee2e860
parent900ed72c8a190e8c0b87cb17abc645b8ec713011 (diff)
downloadlinux-ff164ae39b82ee483b24579c8e22a13a8ce5bd04.tar.xz
rtc: cmos: Evaluate century appropriate
There's limiting the year to 2069. When setting the rtc year to 2070, reading it returns 1970. Evaluate century starting from 19 to count the correct year. $ sudo date -s 20700106 Mon 06 Jan 2070 12:00:00 AM CST $ sudo hwclock -w $ sudo hwclock -r 1970-01-06 12:00:49.604968+08:00 Fixes: 2a4daadd4d3e5071 ("rtc: cmos: ignore bogus century byte") Signed-off-by: Riwen Lu <luriwen@kylinos.cn> Acked-by: Eric Wong <e@80x24.org> Reviewed-by: Mateusz Jończyk <mat.jonczyk@o2.pl> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/20220106084609.1223688-1-luriwen@kylinos.cn
-rw-r--r--drivers/rtc/rtc-mc146818-lib.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/rtc/rtc-mc146818-lib.c b/drivers/rtc/rtc-mc146818-lib.c
index 7f689f1bafc5..ae9f131b43c0 100644
--- a/drivers/rtc/rtc-mc146818-lib.c
+++ b/drivers/rtc/rtc-mc146818-lib.c
@@ -159,7 +159,7 @@ int mc146818_get_time(struct rtc_time *time)
#endif
#ifdef CONFIG_ACPI
- if (p.century > 20)
+ if (p.century > 19)
time->tm_year += (p.century - 19) * 100;
#endif