]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
rtc: pm8xxx: fix possible race condition
authorAlexandre Belloni <alexandre.belloni@bootlin.com>
Mon, 3 Mar 2025 22:35:57 +0000 (23:35 +0100)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Mon, 17 Mar 2025 10:51:49 +0000 (11:51 +0100)
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.

Link: https://lore.kernel.org/r/20250303223600.1135142-2-alexandre.belloni@bootlin.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/rtc/rtc-pm8xxx.c

index 852d80188bd0b5e75882c7945f166162fb039507..3b9709214a08d86273ee891ee75a9cd8e4518b33 100644 (file)
@@ -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 = {