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>
Wed, 20 Apr 2022 07:08:20 +0000 (09:08 +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 3cf384f8b122879722e1b377379ecadcb73da77b..8b07439bb6946972cc4ff7d3204f8ea25b211bb4 100644 (file)
@@ -1367,6 +1367,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) {
@@ -1380,6 +1381,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);
        }