OSDN Git Service

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)
committerLinus Walleij <linus.walleij@linaro.org>
Tue, 15 Mar 2022 00:21:27 +0000 (01:21 +0100)
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>
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);
        }