rtc: stmp3xxx: Add failure handling for stmp3xxx_wdt_register()
authorLin Yujun <linyujun809@huawei.com>
Thu, 15 Sep 2022 06:52:53 +0000 (14:52 +0800)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Wed, 12 Oct 2022 22:03:11 +0000 (00:03 +0200)
Use platform_device_put() to free platform device before print
error message when platform_device_add() fails to run.

Fixes: 1a71fb84fda6 ("rtc: stmp3xxx: add wdt-accessor function")
Signed-off-by: Lin Yujun <linyujun809@huawei.com>
Reviewed-by: Wolfram Sang <wsa@kernel.org>
Link: https://lore.kernel.org/r/20220915065253.43668-1-linyujun809@huawei.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/rtc/rtc-stmp3xxx.c

index 40c0f7ed36e0685e489d07a16706e81db3de2c8f..aae40d20d086802fa23c13dd76c09d56db625f9f 100644 (file)
@@ -107,6 +107,8 @@ static void stmp3xxx_wdt_register(struct platform_device *rtc_pdev)
                wdt_pdev->dev.parent = &rtc_pdev->dev;
                wdt_pdev->dev.platform_data = &wdt_pdata;
                rc = platform_device_add(wdt_pdev);
+               if (rc)
+                       platform_device_put(wdt_pdev);
        }
 
        if (rc)