summaryrefslogtreecommitdiffstats
path: root/drivers/soc/rockchip
diff options
context:
space:
mode:
authorMiaoqian Lin <linmq006@gmail.com>2022-05-16 09:20:10 +0200
committerHeiko Stuebner <heiko@sntech.de>2022-05-17 10:49:37 +0200
commit9b59588d8be91c96bfb0371e912ceb4f16315dbf (patch)
treef76ae43efbd5e83eccda4bb71ee158e6a7369b6b /drivers/soc/rockchip
parentsoc: rockchip: Fix compile-testing SoC drivers (diff)
downloadlinux-9b59588d8be91c96bfb0371e912ceb4f16315dbf.tar.xz
linux-9b59588d8be91c96bfb0371e912ceb4f16315dbf.zip
soc: rockchip: Fix refcount leak in rockchip_grf_init
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> Link: https://lore.kernel.org/r/20220516072013.19731-1-linmq006@gmail.com Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Diffstat (limited to 'drivers/soc/rockchip')
-rw-r--r--drivers/soc/rockchip/grf.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/soc/rockchip/grf.c b/drivers/soc/rockchip/grf.c
index 384461b70684..15a3970e3509 100644
--- a/drivers/soc/rockchip/grf.c
+++ b/drivers/soc/rockchip/grf.c
@@ -165,12 +165,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);