[PATCH] bus: arm-cci: Fix refcount leak in cci_probe

Miaoqian Lin posted 1 patch 3 years, 11 months ago
drivers/bus/arm-cci.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
[PATCH] bus: arm-cci: Fix refcount leak in cci_probe
Posted by Miaoqian Lin 3 years, 11 months ago
of_find_matching_node() returns a node pointer with refcount
incremented, we should use of_node_put() on it when not need anymore.
Add missing of_node_put() to avoid refcount leak.

Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
---
I don't include Fixes tag, because related code logic changes
, commit includes ed69bdd8fd9b,  896ddd6..., I am not
sure if need to determine one.
---
 drivers/bus/arm-cci.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/bus/arm-cci.c b/drivers/bus/arm-cci.c
index b8184a903583..f49237c209c8 100644
--- a/drivers/bus/arm-cci.c
+++ b/drivers/bus/arm-cci.c
@@ -538,8 +538,10 @@ static int cci_probe(void)
 	struct resource res;
 
 	np = of_find_matching_node(NULL, arm_cci_matches);
-	if (!of_device_is_available(np))
+	if (!of_device_is_available(np)) {
+		of_node_put(np);
 		return -ENODEV;
+	}
 
 	ret = of_address_to_resource(np, 0, &res);
 	if (!ret) {
@@ -548,6 +550,7 @@ static int cci_probe(void)
 	}
 	if (ret || !cci_ctrl_base) {
 		WARN(1, "unable to ioremap CCI ctrl\n");
+		of_node_put(np);
 		return -ENXIO;
 	}
 
-- 
2.25.1