diff mbox series

soc: rockchip: Fix refcount leak in rockchip_grf_init

Message ID 20220516072013.19731-1-linmq006@gmail.com (mailing list archive)
State New, archived
Headers show
Series soc: rockchip: Fix refcount leak in rockchip_grf_init | expand

Commit Message

Miaoqian Lin May 16, 2022, 7:20 a.m. UTC
of_find_matching_node_and_match returns a node pointer with refcount
incremented, we should use of_node_put() on it when done.
Add missing of_node_put() to avoid refcount leak.

Fixes: 4c58063d4258 ("soc: rockchip: add driver handling grf setup")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
---
 drivers/soc/rockchip/grf.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Heiko Stuebner May 17, 2022, 5:45 p.m. UTC | #1
On Mon, 16 May 2022 11:20:10 +0400, Miaoqian Lin wrote:
> of_find_matching_node_and_match returns a node pointer with refcount
> incremented, we should use of_node_put() on it when done.
> Add missing of_node_put() to avoid refcount leak.

Applied, thanks!

[1/1] soc: rockchip: Fix refcount leak in rockchip_grf_init
      commit: 9b59588d8be91c96bfb0371e912ceb4f16315dbf

Best regards,
diff mbox series

Patch

diff --git a/drivers/soc/rockchip/grf.c b/drivers/soc/rockchip/grf.c
index 494cf2b5bf7b..343ff61ccccb 100644
--- a/drivers/soc/rockchip/grf.c
+++ b/drivers/soc/rockchip/grf.c
@@ -148,12 +148,14 @@  static int __init rockchip_grf_init(void)
 		return -ENODEV;
 	if (!match || !match->data) {
 		pr_err("%s: missing grf data\n", __func__);
+		of_node_put(np);
 		return -EINVAL;
 	}
 
 	grf_info = match->data;
 
 	grf = syscon_node_to_regmap(np);
+	of_node_put(np);
 	if (IS_ERR(grf)) {
 		pr_err("%s: could not get grf syscon\n", __func__);
 		return PTR_ERR(grf);