[PATCH] arch: microblaze: pci: Add missing of_node_put() in xilinx_pci.c

Liang He windhl at 126.com
Wed Jun 15 06:03:26 PDT 2022


In xilinx_pci_init(), of_find_matching_node() will return a node
pointer with refcount incremented. We should use of_node_put() in
fail path or when it is not used anymore.

Signed-off-by: Liang He <windhl at 126.com>
---
 arch/microblaze/pci/xilinx_pci.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/arch/microblaze/pci/xilinx_pci.c b/arch/microblaze/pci/xilinx_pci.c
index f4cb86fffcee..018d91bdcbb9 100644
--- a/arch/microblaze/pci/xilinx_pci.c
+++ b/arch/microblaze/pci/xilinx_pci.c
@@ -132,13 +132,13 @@ void __init xilinx_pci_init(void)
 
 	if (of_address_to_resource(pci_node, 0, &r)) {
 		pr_err("xilinx-pci: cannot resolve base address\n");
-		return;
+		goto out_put;
 	}
 
 	hose = pcibios_alloc_controller(pci_node);
 	if (!hose) {
 		pr_err("xilinx-pci: pcibios_alloc_controller() failed\n");
-		return;
+		goto out_put;
 	}
 
 	/* Setup config space */
@@ -167,4 +167,7 @@ void __init xilinx_pci_init(void)
 
 	pr_info("xilinx-pci: Registered PCI host bridge\n");
 	xilinx_early_pci_scan(hose);
+	
+out_put:
+	of_node_put(pci_node);
 }
-- 
2.25.1




More information about the linux-arm-kernel mailing list