Esben Haabendal <esben@xxxxxxxxxx> writes: > This fixes a couple of different problems, that can cause RTC (alarm) > irqs to be missing when generating UIE interrupts. > > The first commit fixes a long-standing problem, which has been > documented in a comment since 2010. This fixes a race that could cause > UIE irqs to stop being generated, which was easily reproduced by > timing the use of RTC_UIE_ON ioctl with the seconds tick in the RTC. > > The last commit ensures that RTC (alarm) irqs are enabled whenever > RTC_UIE_ON ioctl is used. > > The driver specific commits avoids kernel warnings about unbalanced > enable_irq/disable_irq, which gets triggered on first RTC_UIE_ON with > the last commit. Before this series, the same warning should be seen > on initial RTC_AIE_ON with those drivers. I don't have access to hardware using cpcap, st-lpc or tps6586x rtc drivers, so I have not been able to test those 3 patches. /Esben > Signed-off-by: Esben Haabendal <esben@xxxxxxxxxx> > --- > Esben Haabendal (6): > rtc: interface: Fix long-standing race when setting alarm > rtc: isl12022: Fix initial enable_irq/disable_irq balance > rtc: cpcap: Fix initial enable_irq/disable_irq balance > rtc: st-lpc: Fix initial enable_irq/disable_irq balance > rtc: tps6586x: Fix initial enable_irq/disable_irq balance > rtc: interface: Ensure alarm irq is enabled when UIE is enabled > > drivers/rtc/interface.c | 27 +++++++++++++++++++++++++++ > drivers/rtc/rtc-cpcap.c | 1 + > drivers/rtc/rtc-isl12022.c | 1 + > drivers/rtc/rtc-st-lpc.c | 1 + > drivers/rtc/rtc-tps6586x.c | 1 + > 5 files changed, 31 insertions(+) > --- > base-commit: 40384c840ea1944d7c5a392e8975ed088ecf0b37 > change-id: 20241203-rtc-uie-irq-fixes-f2838782d0f8 > > Best regards,