Skip to content

Commit

Permalink
rtc: cmos: Evaluate century appropriate
Browse files Browse the repository at this point in the history
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: 2a4daad ("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
  • Loading branch information
Riwen Lu authored and Alexandre Belloni committed Jan 16, 2022
1 parent 900ed72 commit ff164ae
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion drivers/rtc/rtc-mc146818-lib.c
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down

0 comments on commit ff164ae

Please sign in to comment.