[PATCH] powerpc: sysdev: fsl_msi: Add missing of_node_put() for of_parse_phandle()

Liang He windhl at 126.com
Tue Jul 5 00:52:33 AEST 2022


In fsl_setup_msi_irqs(), we should use of_node_put() for the
refernece 'np' returned by of_parse_phandle() which increases
the refcount.

Fixes: 895d603f945ba ("powerpc/fsl_msi: add support for the fsl, msi property in PCI nodes")
Co-authored-by: Miaoqian Lin <linmq006 at gmail.com>
Signed-off-by: Liang He <windhl at 126.com>
---

 There is an incomplete fix: 
 https://lore.kernel.org/all/20220526010935.32138-1-zhengyongjun3@huawei.com/

 We should call of_node_put() both in fail path and normal path.

 arch/powerpc/sysdev/fsl_msi.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/powerpc/sysdev/fsl_msi.c b/arch/powerpc/sysdev/fsl_msi.c
index ef9a5999fa93..73c2d70706c0 100644
--- a/arch/powerpc/sysdev/fsl_msi.c
+++ b/arch/powerpc/sysdev/fsl_msi.c
@@ -209,8 +209,10 @@ static int fsl_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type)
 			dev_err(&pdev->dev,
 				"node %pOF has an invalid fsl,msi phandle %u\n",
 				hose->dn, np->phandle);
+			of_node_put(np);
 			return -EINVAL;
 		}
+		of_node_put(np);
 	}
 
 	msi_for_each_desc(entry, &pdev->dev, MSI_DESC_NOTASSOCIATED) {
-- 
2.25.1



More information about the Linuxppc-dev mailing list