linux-rtc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] rtc: interface:: 1969-12-31T23:59:59 is set as rtc_time if rtc_time is invalid in __rtc_read_time
@ 2020-08-01 11:20 Grant Feng
  2020-08-01 13:28 ` Alexandre Belloni
  0 siblings, 1 reply; 6+ messages in thread
From: Grant Feng @ 2020-08-01 11:20 UTC (permalink / raw)
  To: von81, a.zummo, alexandre.belloni, linux-rtc

1969-12-31T23:59:59 is an error more clear than Invalid argument

For example, when the RTC clock is not set, it will print a kernel
error log every time someone tries to read the clock:
        ~ # hwclock -r
        hwclock: RTC_RD_TIME: Invalid argument

It's clear and easy to understand what happened if print
1969-12-31T23:59:59 in this situation:
        ~ # hwclock -r
        Wed Dec 31 23:59:59 1969  0.000000 seconds

Signed-off-by: Grant Feng <von81@163.com>
---
 drivers/rtc/interface.c | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/drivers/rtc/interface.c b/drivers/rtc/interface.c
index 794a4f036b99..e6b3f4163565 100644
--- a/drivers/rtc/interface.c
+++ b/drivers/rtc/interface.c
@@ -101,8 +101,20 @@ static int __rtc_read_time(struct rtc_device *rtc, struct rtc_time *tm)
 		rtc_add_offset(rtc, tm);
 
 		err = rtc_valid_tm(tm);
-		if (err < 0)
+		if (err < 0) {
 			dev_dbg(&rtc->dev, "read_time: rtc_time isn't valid\n");
+
+			tm->tm_sec = 59;
+			tm->tm_min = 59;
+			tm->tm_hour = 23;
+			tm->tm_mday = 31;
+			tm->tm_mon = 11;
+			tm->tm_year = 69;
+			tm->tm_wday = 3;
+			tm->tm_yday = 365;
+			tm->tm_isdst = 0;
+		}
+		err = 0;
 	}
 	return err;
 }
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-08-03  3:39 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-01 11:20 [PATCH] rtc: interface:: 1969-12-31T23:59:59 is set as rtc_time if rtc_time is invalid in __rtc_read_time Grant Feng
2020-08-01 13:28 ` Alexandre Belloni
2020-08-02  6:51   ` [PATCH] rtc: interface^ " Grant Feng
2020-08-02 13:04     ` Alexandre Belloni
2020-08-02 13:35       ` Grant Feng
2020-08-03  3:07       ` Grant Feng

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).