[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20250929113234.1726-1-vulab@iscas.ac.cn>
Date: Mon, 29 Sep 2025 19:32:34 +0800
From: Haotian Zhang <vulab@...as.ac.cn>
To: Sebastian Reichel <sre@...nel.org>,
linux-pm@...r.kernel.org
Cc: linux-kernel@...r.kernel.org,
Haotian Zhang <vulab@...as.ac.cn>
Subject: [PATCH v2] power: supply: rt5033_charger: Fix device node reference leaks
The device node pointers `np_conn` and `np_edev`, obtained from
of_parse_phandle() and of_get_parent() respectively, are not released.
This results in a reference count leak.
Add of_node_put() calls after the last use of these device nodes to
properly release their references and fix the leaks.
Fixes: 8242336dc8a8 ("power: supply: rt5033_charger: Add cable detection and USB OTG supply")
Signed-off-by: Haotian Zhang <vulab@...as.ac.cn>
---
Changes in v2:
- Resend to the correct maintainer and mailing list.
---
drivers/power/supply/rt5033_charger.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/power/supply/rt5033_charger.c b/drivers/power/supply/rt5033_charger.c
index 2fdc58439707..de724f23e453 100644
--- a/drivers/power/supply/rt5033_charger.c
+++ b/drivers/power/supply/rt5033_charger.c
@@ -701,6 +701,8 @@ static int rt5033_charger_probe(struct platform_device *pdev)
np_conn = of_parse_phandle(pdev->dev.of_node, "richtek,usb-connector", 0);
np_edev = of_get_parent(np_conn);
charger->edev = extcon_find_edev_by_node(np_edev);
+ of_node_put(np_edev);
+ of_node_put(np_conn);
if (IS_ERR(charger->edev)) {
dev_warn(charger->dev, "no extcon device found in device-tree\n");
goto out;
--
2.50.1.windows.1
Powered by blists - more mailing lists