rtc: renesas-rtca3: Disable interrupts only if the RTC is enabled
authorClaudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Wed, 5 Feb 2025 09:55:19 +0000 (11:55 +0200)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Tue, 11 Mar 2025 14:11:20 +0000 (15:11 +0100)
commit27b2fcbd6b98204b0dce62e9aa9540ca0a2b70f1
tree1401302ef76a02857151f984f7e7f9889a2963c4
parent8a9b1751b26cf04dabd903e32d0cc9c765fb3116
rtc: renesas-rtca3: Disable interrupts only if the RTC is enabled

If the RTC is not enabled and the code attempts to disable the interrupt,
the readb_poll_timeout_atomic() function in the
rtca3_alarm_irq_set_helper() may timeout, leading to probe failures.
This issue is reproducible on some devices because the initial values of
the PIE and AIE bits in the RCR1 register are undefined.

To prevent probe failures in this scenario, disable RTC interrupts only
when the RTC is actually enabled.

Fixes: d4488377609e ("rtc: renesas-rtca3: Add driver for RTCA-3 available on Renesas RZ/G3S SoC")
Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Link: https://lore.kernel.org/r/20250205095519.2031742-1-claudiu.beznea.uj@bp.renesas.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/rtc/rtc-renesas-rtca3.c