diff options
| author | Haotian Zhang <vulab@iscas.ac.cn> | 2025-09-29 19:32:34 +0800 |
|---|---|---|
| committer | Sebastian Reichel <sebastian.reichel@collabora.com> | 2025-11-03 01:01:56 +0100 |
| commit | 6cdc4d488c2f3a61174bfba4e8cc4ac92c219258 (patch) | |
| tree | e838feb8c71b0e416ba4a0f8e1d651e08ac9b261 /drivers/power | |
| parent | 1cb053ea2e1dedd8f2d9653b7c3ca5b93c8c9275 (diff) | |
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@iscas.ac.cn>
Link: https://patch.msgid.link/20250929113234.1726-1-vulab@iscas.ac.cn
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Diffstat (limited to 'drivers/power')
| -rw-r--r-- | drivers/power/supply/rt5033_charger.c | 2 |
1 files changed, 2 insertions, 0 deletions
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; |
