2022-03-08 08:19:56

by Miaoqian Lin

[permalink] [raw]
Subject: [PATCH] pinctrl: mediatek: Fix missing of_node_put() in mtk_pctrl_init

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 <[email protected]>
---
drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
index 5f7c421ab6e7..334cb85855a9 100644
--- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
+++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
@@ -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);
}
--
2.17.1


Subject: Re: [PATCH] pinctrl: mediatek: Fix missing of_node_put() in mtk_pctrl_init

Il 08/03/22 08:11, Miaoqian Lin ha scritto:
> 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 <[email protected]>

Thanks!

Reviewed-by: AngeloGioacchino Del Regno <[email protected]>

> ---
> drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
> index 5f7c421ab6e7..334cb85855a9 100644
> --- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
> +++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
> @@ -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);
> }
>

2022-03-16 02:52:06

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH] pinctrl: mediatek: Fix missing of_node_put() in mtk_pctrl_init

On Tue, Mar 8, 2022 at 8:12 AM Miaoqian Lin <[email protected]> wrote:

> 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 <[email protected]>

Patch applied.

Yours,
Linus Walleij