]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
pinctrl/rockchip: Add missing of_node_put() in rockchip_pinctrl_probe
authorMiaoqian Lin <linmq006@gmail.com>
Mon, 7 Mar 2022 12:02:34 +0000 (12:02 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 15 Apr 2022 12:14:52 +0000 (14:14 +0200)
[ Upstream commit 89388f8730699c259f8090ec435fb43569efe4ac ]

The device_node pointer is returned by of_parse_phandle()  with refcount
incremented. We should use of_node_put() on it when done.

Fixes: 1e747e59cc4d ("pinctrl: rockchip: base regmap supplied by a syscon")
Fixes: 14dee8677e19 ("pinctrl: rockchip: let pmu registers be supplied by a syscon")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Link: https://lore.kernel.org/r/20220307120234.28657-1-linmq006@gmail.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/pinctrl/pinctrl-rockchip.c

index d0d5b8bdbc105002a26c38c6eadb6173a083ac09..dc405d7aa1b78f1150a58591ec69baaf9cb64c54 100644 (file)
@@ -3400,6 +3400,7 @@ static int rockchip_pinctrl_probe(struct platform_device *pdev)
        node = of_parse_phandle(np, "rockchip,grf", 0);
        if (node) {
                info->regmap_base = syscon_node_to_regmap(node);
+               of_node_put(node);
                if (IS_ERR(info->regmap_base))
                        return PTR_ERR(info->regmap_base);
        } else {
@@ -3436,6 +3437,7 @@ static int rockchip_pinctrl_probe(struct platform_device *pdev)
        node = of_parse_phandle(np, "rockchip,pmu", 0);
        if (node) {
                info->regmap_pmu = syscon_node_to_regmap(node);
+               of_node_put(node);
                if (IS_ERR(info->regmap_pmu))
                        return PTR_ERR(info->regmap_pmu);
        }