On 2/2/23 07:54, Johan Hovold wrote:
Make sure to disable the alarm before updating the four alarm time registers to avoid spurious alarms during the update.
What scenario can encounter a spurious alarm triggering upon writing the new alarm time inside of pm8xxx_rtc_set_alarm()?
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.
What scenario shows the IRQ race issue that you mentioned? How does not protecting this register write with a lock avoid the race condition?
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
drivers/rtc/rtc-pm8xxx.c | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-)
Note that since locking is removed later in the patch series, my questions above are mainly for the sake of curiosity.
Reviewed-by: David Collins quic_collinsd@quicinc.com
Thanks, David