On 20/11/2024 22:17:34+0800, 高永良 wrote: > Hi Alexandre Belloni, > > I've noticed that the post-failure process for __rtc_read_time requires > careful handling. > 1. Need to call pm_relax. I had a look when taking your patch and I'm not convinced calling pm_relax is necessary. > 2. Potentially need to set the alarm to ensure subsequent interrupts can > process the > expired timer? Could you give me some advice? Same thing, if you are not able to read the current time, setting the next alarm is going to fail anyway. > Should I continue to submit a fix patch or create a v2 version of the patch? > > Best Regards, > Yongliang Gao > > Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx> 于2024年11月12日周二 06:11写道: > > > On Fri, 11 Oct 2024 12:31:53 +0800, Yongliang Gao wrote: > > > If the __rtc_read_time call fails,, the struct rtc_time tm; may contain > > > uninitialized data, or an illegal date/time read from the RTC hardware. > > > > > > When calling rtc_tm_to_ktime later, the result may be a very large value > > > (possibly KTIME_MAX). If there are periodic timers in rtc->timerqueue, > > > they will continually expire, may causing kernel softlockup. > > > > > > [...] > > > > Applied, thanks! > > > > [1/1] rtc: check if __rtc_read_time was successful in rtc_timer_do_work() > > https://git.kernel.org/abelloni/c/e8ba8a2bc4f6 > > > > Best regards, > > > > -- > > Alexandre Belloni, co-owner and COO, Bootlin > > Embedded Linux and Kernel engineering > > https://bootlin.com > > -- Alexandre Belloni, co-owner and COO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com