rtc: pm8xxx: fix set-alarm race
authorJohan Hovold <johan+linaro@kernel.org>
Thu, 2 Feb 2023 15:54:27 +0000 (16:54 +0100)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Thu, 9 Feb 2023 22:17:56 +0000 (23:17 +0100)
commitc88db0eff9722fc2b6c4d172a50471d20e08ecc6
tree7817d005cd5b3c3284bf91cf7e7dc27ae302c535
parent6a22a5dbc69473c2c46d1a13fe6cbc7bdaacb2a6
rtc: pm8xxx: fix set-alarm race

Make sure to disable the alarm before updating the four alarm time
registers to avoid spurious alarms during the update.

Note that the disable needs to be done outside of the ctrl_reg_lock
section to prevent a racing alarm interrupt from disabling the newly set
alarm when the lock is released.

Fixes: 9a9a54ad7aa2 ("drivers/rtc: add support for Qualcomm PMIC8xxx RTC")
Cc: stable@vger.kernel.org # 3.1
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: David Collins <quic_collinsd@quicinc.com>
Link: https://lore.kernel.org/r/20230202155448.6715-2-johan+linaro@kernel.org
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/rtc/rtc-pm8xxx.c