Message ID | 20200124093105.163756275@linuxfoundation.org |
---|---|
State | Not Applicable |
Headers | show |
Series | None | expand |
Hi! > From: Eric Wong <e@80x24.org> > > [ Upstream commit 2a4daadd4d3e507138f8937926e6a4df49c6bfdc ] > > Older versions of Libreboot and Coreboot had an invalid value > (`3' in my case) in the century byte affecting the GM45 in > the Thinkpad X200. Not everybody's updated their firmwares, > and Linux <= 4.2 was able to read the RTC without problems, > so workaround this by ignoring invalid values. Should it print a warning so that wrong BIOSes are eventually fixed? Best regards, Pavel
diff --git a/drivers/rtc/rtc-mc146818-lib.c b/drivers/rtc/rtc-mc146818-lib.c index 2f1772a358ca5..18a6f15e313d8 100644 --- a/drivers/rtc/rtc-mc146818-lib.c +++ b/drivers/rtc/rtc-mc146818-lib.c @@ -82,7 +82,7 @@ unsigned int mc146818_get_time(struct rtc_time *time) time->tm_year += real_year - 72; #endif - if (century) + if (century > 20) time->tm_year += (century - 19) * 100; /*