Re: [PATCH v5 06/17] rtc: rzn1: Disable alarm interrupt before reprogramming alarm registers

Wolfram Sang <[email protected]>
Newsgroups org.kernel.vger.linux-rtc,dev.linux.lists.sashiko-reviews,org.kernel.vger.linux-devicetree
Message-ID <aohqVrJV5hiZoWXd@ninjato>
On Fri, Aug 21, 2026 at 02:10:40PM +0000, [email protected] wrote:
> Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
> 
> Pre-existing issues:
> - [High] Concurrent lockless read and write of `rtc->tm_alarm` and a race with delayed IRQ handlers can cause a newly configured alarm to be silently disabled.
> --
> 
> --- Patch [6]: [PATCH v5 06/17] rtc: rzn1: Disable alarm interrupt before reprogramming alarm registers ---
> commit 6227942d78d91abfb1648a64bce64f0011716b61
> Author: Lad Prabhakar <[email protected]>
> 
> rtc: rzn1: Disable alarm interrupt before reprogramming alarm registers
> 
> This commit updates rzn1_rtc_set_alarm() to disable the alarm interrupt
> before reprogramming the alarm registers. This prevents the interrupt from
> firing while the alarm registers contain a mixture of old and newly written
> values.
> 
> > diff --git a/drivers/rtc/rtc-rzn1.c b/drivers/rtc/rtc-rzn1.c
> > index 44e8db466cb78..09631a3a51345 100644
> > --- a/drivers/rtc/rtc-rzn1.c
> > +++ b/drivers/rtc/rtc-rzn1.c
> > @@ -280,6 +280,11 @@ static int rzn1_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alrm)
> >  	if (alarm > farest)
> >  		return -ERANGE;
> >  
> > +	/* Disable alarm interrupts before reprogramming the alarm. */
> > +	ret = rzn1_rtc_alarm_irq_enable(dev, 0);
> > +	if (ret)
> > +		return ret;
> > +
> >  	writel(bin2bcd(tm->tm_min), rtc->base + RZN1_RTC_ALM);
> >  	writel(bin2bcd(tm->tm_hour), rtc->base + RZN1_RTC_ALH);
> >  	writel(BIT(tm->tm_wday), rtc->base + RZN1_RTC_ALW);
> 
> [Severity: High]
> This is a pre-existing issue, but does this fully protect against a race
> with a delayed IRQ handler?

I'll leave it to you but I think this should also be handled
incrementally.
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEOZGx6rniZ1Gk92RdFA3kzBSgKbYFAmqIalYACgkQFA3kzBSg
KbbYtRAAmBGBeeUfZjCYLQm2Y/O2Zm3wN4Y9jZLcWjJoBiOiwkJ4IkZG+BdvhT4k
1JG2HaD5oGj4PmKgpIYhTI22cgocQIgeBmsP+V3ETtHOt+eVD8j1oBU+gsFLzYX8
3HRoOV8yPlRCVgm4pvxmFluxHnKcmJUYW2vxRngE1MMLhtnMG7Tvk6i84TFbpaX9
o32KOtCsySA3WSohFhlyDU5AW1bzh+7ZRNswe4uWi4OoBxW4gCna7iCUVJihLb7u
1rucfrTj6Wn+amBSd1gm+R3ASZ8uJN9gc7RGSK/FfQyYeYJBCy6H7M77BIwthn5E
Y23xbcrrFP4gl6JjIsxQ/n6SNltELkMlpfiP4HKiBNJ6+JsC0RkLcX0y6zQUpb7F
LI117lIRoHk3RJ36y9Pcb91Np6nztMn/ltJL49YKCrM9GXQ2OjeQrGvBqYvzQqwj
uSfXPdJ3yvHQlSCnHa+CULC4FCEsC5TEOCwScezzRwlyVErcKj/6g163PG2vuvs3
kURrj6+SZGnVde8pO0GSKKk6RnzOFalCA06jX462LyTcLEUM2hoXkfUrdd1w9s44
I4LyAIuEnf8f99+6cv3GjiU1m1sBtWUeHxQXo4tJUCfdZDIqswUK+C5C8amMf0Ki
irPk4cRg15vk1HhVcvUY+CNgcHaFze0qkA4OjmCE7stfK18/MBg=
=SSbb
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.