2022-01-06 08:46:39

by Riwen Lu

[permalink] [raw]
Subject: [PATCH v1] 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 <[email protected]>
---
drivers/rtc/rtc-mc146818-lib.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/rtc/rtc-mc146818-lib.c b/drivers/rtc/rtc-mc146818-lib.c
index dcfaf09946ee..2065842f775d 100644
--- a/drivers/rtc/rtc-mc146818-lib.c
+++ b/drivers/rtc/rtc-mc146818-lib.c
@@ -104,7 +104,7 @@ unsigned int mc146818_get_time(struct rtc_time *time)
time->tm_year += real_year - 72;
#endif

- if (century > 20)
+ if (century > 19)
time->tm_year += (century - 19) * 100;

/*
--
2.25.1


No virus found
Checked by Hillstone Network AntiVirus


2022-01-11 18:08:13

by Eric Wong

[permalink] [raw]
Subject: Re: [PATCH v1] rtc: cmos: Evaluate century appropriate

Riwen Lu <[email protected]> wrote:
> 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 <[email protected]>

Oops, I'm not good at arithmetic :x Thanks for this fix.

Acked-by: Eric Wong <[email protected]>

> index dcfaf09946ee..2065842f775d 100644
> --- a/drivers/rtc/rtc-mc146818-lib.c
> +++ b/drivers/rtc/rtc-mc146818-lib.c
> @@ -104,7 +104,7 @@ unsigned int mc146818_get_time(struct rtc_time *time)
> time->tm_year += real_year - 72;
> #endif
>
> - if (century > 20)
> + if (century > 19)
> time->tm_year += (century - 19) * 100;
>
> /*

2022-01-17 11:07:51

by Alexandre Belloni

[permalink] [raw]
Subject: Re: [PATCH v1] rtc: cmos: Evaluate century appropriate

On Thu, 6 Jan 2022 16:46:09 +0800, Riwen Lu wrote:
> 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
>
> [...]

Applied, thanks!

[1/1] rtc: cmos: Evaluate century appropriate
commit: ff164ae39b82ee483b24579c8e22a13a8ce5bd04

Best regards,
--
Alexandre Belloni <[email protected]>