From f007c479c2d0ca0a537286511aa5d07b75755513 Mon Sep 17 00:00:00 2001 From: Alexandre Belloni Date: Tue, 26 Jan 2021 23:14:33 +0100 Subject: [PATCH] rtc: rv3028: fix PORF handling The PORF bit is cleared on interrupts which prevents the driver to know when the time and date are invalid. Stop clearing PORF in the interrupt handler. Signed-off-by: Alexandre Belloni Link: https://lore.kernel.org/r/20210126221435.2152339-1-alexandre.belloni@bootlin.com --- drivers/rtc/rtc-rv3028.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/rtc/rtc-rv3028.c b/drivers/rtc/rtc-rv3028.c index 2004f8c5397f7..4f8f6092097a1 100644 --- a/drivers/rtc/rtc-rv3028.c +++ b/drivers/rtc/rtc-rv3028.c @@ -268,6 +268,8 @@ static irqreturn_t rv3028_handle_irq(int irq, void *dev_id) if (status & RV3028_STATUS_PORF) dev_warn(&rv3028->rtc->dev, "Voltage low, data loss detected.\n"); + status &= ~RV3028_STATUS_PORF; + if (status & RV3028_STATUS_TF) { status |= RV3028_STATUS_TF; ctrl |= RV3028_CTRL2_TIE; -- 2.30.2