[PATCH -next] rtc: stmp3xxx: Add failure handling for stmp3xxx_wdt_register()

From: Lin Yujun
Date: Tue Sep 13 2022 - 23:25:41 EST


Use platform_device_put() to free platform device before print
error message when platform_device_add() fails to run. Add dev_err()
to report error in case of alloc memory to wdt_pdev fail.

Fixes: 1a71fb84fda6 ("rtc: stmp3xxx: add wdt-accessor function")
Signed-off-by: Lin Yujun <linyujun809@xxxxxxxxxx>
---
drivers/rtc/rtc-stmp3xxx.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/drivers/rtc/rtc-stmp3xxx.c b/drivers/rtc/rtc-stmp3xxx.c
index 40c0f7ed36e0..b2f4b034cdb6 100644
--- a/drivers/rtc/rtc-stmp3xxx.c
+++ b/drivers/rtc/rtc-stmp3xxx.c
@@ -107,6 +107,11 @@ 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);
+ } else {
+ dev_err(&rtc_pdev->dev,
+ "failed to allocate stmp3xxx_rtc_wdt\n");
}

if (rc)
--
2.17.1