pinctrl: mediatek: Fix missing of_node_put() in mtk_pctrl_init
authorMiaoqian Lin <linmq006@gmail.com>
Tue, 8 Mar 2022 07:11:54 +0000 (07:11 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 Apr 2022 12:23:49 +0000 (14:23 +0200)
[ Upstream commit dab4df9ca919f59e5b9dd84385eaf34d4f20dbb0 ]

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

Fixes: a6df410d420a ("pinctrl: mediatek: Add Pinctrl/GPIO driver for mt8135.")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20220308071155.21114-1-linmq006@gmail.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/pinctrl/mediatek/pinctrl-mtk-common.c

index 5f7c421..334cb85 100644 (file)
@@ -1038,6 +1038,7 @@ int mtk_pctrl_init(struct platform_device *pdev,
        node = of_parse_phandle(np, "mediatek,pctl-regmap", 0);
        if (node) {
                pctl->regmap1 = syscon_node_to_regmap(node);
+               of_node_put(node);
                if (IS_ERR(pctl->regmap1))
                        return PTR_ERR(pctl->regmap1);
        } else if (regmap) {
@@ -1051,6 +1052,7 @@ int mtk_pctrl_init(struct platform_device *pdev,
        node = of_parse_phandle(np, "mediatek,pctl-regmap", 1);
        if (node) {
                pctl->regmap2 = syscon_node_to_regmap(node);
+               of_node_put(node);
                if (IS_ERR(pctl->regmap2))
                        return PTR_ERR(pctl->regmap2);
        }