diff --git a/drivers/rtc/rtc-ds1685.c b/drivers/rtc/rtc-ds1685.c index 5fc8e36b1abf..284815e5f478 100644 --- a/drivers/rtc/rtc-ds1685.c +++ b/drivers/rtc/rtc-ds1685.c @@ -666,7 +666,7 @@ ds1685_rtc_irq_handler(int irq, void *dev_id) if (unlikely(!rtc)) return IRQ_HANDLED; - rtc_lock(rtc->dev); + guard(rtc_ops)(rtc->dev); /* Ctrlb holds the interrupt-enable bits and ctrlc the flag bits. */ ctrlb = rtc->read(rtc, RTC_CTRL_B); @@ -711,7 +711,6 @@ ds1685_rtc_irq_handler(int irq, void *dev_id) } } rtc_update_irq(rtc->dev, num_irqs, events); - rtc_unlock(rtc->dev); return events ? IRQ_HANDLED : IRQ_NONE; }