W dniu 7.12.2022 o 07:51, Chen, Kane pisze:
-----Original Message----- From: Sasha Levin sashal@kernel.org Sent: Wednesday, December 7, 2022 1:13 PM To: Chen, Kane kane.chen@intel.com Cc: stable@vger.kernel.org Subject: Re: [PATCH v1] rtc: cmos: avoid UIP when writing/reading alarm time
On Wed, Dec 07, 2022 at 11:57:22AM +0800, Kane Chen wrote:
While runnings s0ix cycling test based on rtc alarm wakeup on ADL-P devices, We found the data from CMOS_READ is not reasonable and causes
RTC wake up fail.
With the below changes, we don't see unreasonable data from cmos and
issue is gone.
Thanks for the analysis, I can queue most of these up. There are two which won't go in:
cd17420: rtc: cmos: avoid UIP when writing alarm time cdedc45: rtc: cmos: avoid UIP when reading alarm time ec5895c: rtc: mc146818-lib: extract mc146818_avoid_UIP ea6fa49: rtc: mc146818-lib: fix RTC presence check 13be2ef: rtc: cmos: Disable irq around direct invocation of cmos_interrupt() 0dd8d6c: rtc: Check return value from mc146818_get_time() e1aba37: rtc: cmos: remove stale REVISIT comments 6950d04: rtc: cmos: Replace spin_lock_irqsave with spin_lock in hard IRQ
This one fixes a commit which isn't in the 5.10 tree.
d35786b: rtc: mc146818-lib: change return values of mc146818_get_time() ebb22a0: rtc: mc146818: Dont test for bit 0-5 in Register D 211e5db: rtc: mc146818: Detect and handle broken RTCs dcf257e: rtc: mc146818: Reduce spinlock section in mc146818_set_time()
This one looks like an optimization.
--
I'm sorry, I thought dcf257e and 6950d04, 13be2ef are also required to avoid cherry-pick conflict After checking again, dcf257e, 6950d04, 13be2ef are not needed.
Here is the list I would like to pick cd17420: rtc: cmos: avoid UIP when writing alarm time cdedc45: rtc: cmos: avoid UIP when reading alarm time ec5895c: rtc: mc146818-lib: extract mc146818_avoid_UIP ea6fa49: rtc: mc146818-lib: fix RTC presence check 0dd8d6c: rtc: Check return value from mc146818_get_time() e1aba37: rtc: cmos: remove stale REVISIT comments d35786b: rtc: mc146818-lib: change return values of mc146818_get_time() ebb22a0: rtc: mc146818: Dont test for bit 0-5 in Register D 211e5db: rtc: mc146818: Detect and handle broken RTCs 05a0302: rtc: mc146818: Prevent reading garbage
Thanks a lot
Thanks, Sasha
Hello,
I think that you should also pick these patches which fix issues in the series that is prepared for 5.4:
1) commit 7372971c1be5 ("rtc: mc146818-lib: fix signedness bug in mc146818_get_time()")
which fixes d35786b: rtc: mc146818-lib: change return values of mc146818_get_time()
2) commit 13be2efc390a ("rtc: cmos: Disable irq around direct invocation of cmos_interrupt()")
which fixes 6950d04: rtc: cmos: Replace spin_lock_irqsave with spin_lock in hard IRQ and is not prepared for 5.4 stable even though it was mentioned above.
3) commit 811f5559270f ("rtc: mc146818-lib: fix locking in mc146818_set_time")
which fixes dcf257e: rtc: mc146818: Reduce spinlock section in mc146818_set_time()
When it comes to these two patches:
cd17420: rtc: cmos: avoid UIP when writing alarm time cdedc45: rtc: cmos: avoid UIP when reading alarm time
I used to think that the issues they fix were very unlikely to happen in practice, so I did not submit them into stable. So thanks for proving me wrong.
Greetings, Mateusz