powerpc/fsl_rio: Fix refcount leak in fsl_rio_setup
authorMiaoqian Lin <linmq006@gmail.com>
Thu, 12 May 2022 12:37:18 +0000 (16:37 +0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Jun 2022 08:23:12 +0000 (10:23 +0200)
[ Upstream commit fcee96924ba1596ca80a6770b2567ca546f9a482 ]

of_parse_phandle() returns a node pointer with refcount
incremented, we should use of_node_put() on it when not need anymore.
Add missing of_node_put() to avoid refcount leak.

Fixes: abc3aeae3aaa ("fsl-rio: Add two ports and rapidio message units support")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20220512123724.62931-1-linmq006@gmail.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/powerpc/sysdev/fsl_rio.c

index ff7906b..1bfc9af 100644 (file)
@@ -505,8 +505,10 @@ int fsl_rio_setup(struct platform_device *dev)
        if (rc) {
                dev_err(&dev->dev, "Can't get %pOF property 'reg'\n",
                                rmu_node);
+               of_node_put(rmu_node);
                goto err_rmu;
        }
+       of_node_put(rmu_node);
        rmu_regs_win = ioremap(rmu_regs.start, resource_size(&rmu_regs));
        if (!rmu_regs_win) {
                dev_err(&dev->dev, "Unable to map rmu register window\n");