pinctrl: rockchip: Fix refcount leak in rockchip_pinctrl_parse_groups
authorMiaoqian Lin <linmq006@gmail.com>
Mon, 2 Jan 2023 11:28:45 +0000 (15:28 +0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Mar 2023 08:39:21 +0000 (09:39 +0100)
[ Upstream commit c818ae563bf99457f02e8170aabd6b174f629f65 ]

of_find_node_by_phandle() returns a node pointer with refcount incremented,
We should use of_node_put() on it when not needed anymore.
Add missing of_node_put() to avoid refcount leak.

Fixes: d3e5116119bd ("pinctrl: add pinctrl driver for Rockchip SoCs")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Link: https://lore.kernel.org/r/20230102112845.3982407-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 c33cbf7568db5c878ee7080257e2380b7ede1923..a6f4aca9c61c4aebf77a7c6318ff7b4427bb6082 100644 (file)
@@ -2499,6 +2499,7 @@ static int rockchip_pinctrl_parse_groups(struct device_node *np,
                np_config = of_find_node_by_phandle(be32_to_cpup(phandle));
                ret = pinconf_generic_parse_dt_config(np_config, NULL,
                                &grp->data[j].configs, &grp->data[j].nconfigs);
+               of_node_put(np_config);
                if (ret)
                        return ret;
        }