[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220111180715.GB11432@dcvr>
Date: Tue, 11 Jan 2022 18:07:15 +0000
From: Eric Wong <e@...24.org>
To: Riwen Lu <luriwen@...inos.cn>
Cc: a.zummo@...ertech.it, alexandre.belloni@...tlin.com,
linux-rtc@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v1] rtc: cmos: Evaluate century appropriate
Riwen Lu <luriwen@...inos.cn> 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 <luriwen@...inos.cn>
Oops, I'm not good at arithmetic :x Thanks for this fix.
Acked-by: Eric Wong <e@...24.org>
> 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;
>
> /*
Powered by blists - more mailing lists