pinctrl: nomadik: Add missing of_node_put() in nmk_pinctrl_probe
authorMiaoqian Lin <linmq006@gmail.com>
Mon, 7 Mar 2022 11:51:16 +0000 (11:51 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Apr 2022 07:08:20 +0000 (09:08 +0200)
[ Upstream commit c09ac191b1f97cfa06f394dbfd7a5db07986cefc ]

This node pointer is returned by of_parse_phandle() with refcount
incremented in this function. Calling of_node_put() to avoid
the refcount leak.

Fixes: 32e67eee670e ("pinctrl: nomadik: Allow prcm_base to be extracted from Device Tree")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Link: https://lore.kernel.org/r/20220307115116.25316-1-linmq006@gmail.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/pinctrl/nomadik/pinctrl-nomadik.c

index a53f1a9b1ed21f2599b9531cef403a44fb85f7af..69c702b366bc7b24a9529b438dc4ca61ace26ebc 100644 (file)
@@ -1916,8 +1916,10 @@ static int nmk_pinctrl_probe(struct platform_device *pdev)
        }
 
        prcm_np = of_parse_phandle(np, "prcm", 0);
-       if (prcm_np)
+       if (prcm_np) {
                npct->prcm_base = of_iomap(prcm_np, 0);
+               of_node_put(prcm_np);
+       }
        if (!npct->prcm_base) {
                if (version == PINCTRL_NMK_STN8815) {
                        dev_info(&pdev->dev,