mirror of
https://github.com/torvalds/linux.git
synced 2026-11-07 06:17:02 +01:00
rtc: pcf85063: do not clear AIE in the interrupt handler
The interrupt handler cleared the alarm interrupt enable (AIE) bit while acknowledging the alarm flag (AF). This races with process-context updates of AIE in pcf85063_rtc_alarm_irq_enable() and pcf85063_rtc_set_alarm(): a handler running concurrently can clobber an AIE change. The RTC core already disables the alarm interrupt after a one-shot alarm via the .alarm_irq_enable callback, so the handler does not need to touch AIE at all. Acknowledge AF only and leave AIE management to the core. Signed-off-by: Alexander Sverdlin <alexander.sverdlin@siemens.com> Link: https://patch.msgid.link/20260828164445.3907839-3-alexander.sverdlin@siemens.com Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
This commit is contained in:
parent
a451b6bb92
commit
75ba9f3a6a
|
|
@ -238,8 +238,7 @@ static irqreturn_t pcf85063_rtc_handle_irq(int irq, void *dev_id)
|
|||
if (val & PCF85063_CTRL2_AF) {
|
||||
rtc_update_irq(pcf85063->rtc, 1, RTC_IRQF | RTC_AF);
|
||||
regmap_update_bits(pcf85063->regmap, PCF85063_REG_CTRL2,
|
||||
PCF85063_CTRL2_AIE | PCF85063_CTRL2_AF,
|
||||
0);
|
||||
PCF85063_CTRL2_AF, 0);
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user