[PATCH 2/3] rtc: pm8xxx: fix possible race condition

From: alexandre . belloni
Date: Mon Mar 03 2025 - 17:36:21 EST


From: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>

probe must not fail after devm_rtc_register_device is successful because
the character device will be seen by userspace and may be opened right
away. Call it last to avoid opening the race window.

Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>
---
drivers/rtc/rtc-pm8xxx.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/rtc/rtc-pm8xxx.c b/drivers/rtc/rtc-pm8xxx.c
index 852d80188bd0..3b9709214a08 100644
--- a/drivers/rtc/rtc-pm8xxx.c
+++ b/drivers/rtc/rtc-pm8xxx.c
@@ -519,11 +519,11 @@ static int pm8xxx_rtc_probe(struct platform_device *pdev)
if (rc < 0)
return rc;

- rc = devm_rtc_register_device(rtc_dd->rtc);
+ rc = devm_pm_set_wake_irq(&pdev->dev, rtc_dd->alarm_irq);
if (rc)
return rc;

- return devm_pm_set_wake_irq(&pdev->dev, rtc_dd->alarm_irq);
+ return devm_rtc_register_device(rtc_dd->rtc);
}

static struct platform_driver pm8xxx_rtc_driver = {
--
2.48.1