[PATCH v5 1/3] PCI: xilinx-cpm: Fix IRQ domain leak in error path of probe.

From: Thippeswamy Havalige
Date: Mon Feb 24 2025 - 10:54:28 EST


The IRQ domain allocated for the PCIe controller is not freed if
resource_list_first_type returns NULL, leading to a resource leak.

This fix ensures properly cleaning up the allocated IRQ domain in the error
path.

Signed-off-by: Thippeswamy Havalige <thippeswamy.havalige@xxxxxxx>
---
drivers/pci/controller/pcie-xilinx-cpm.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/pci/controller/pcie-xilinx-cpm.c b/drivers/pci/controller/pcie-xilinx-cpm.c
index 81e8bfae53d0..660b12fc4631 100644
--- a/drivers/pci/controller/pcie-xilinx-cpm.c
+++ b/drivers/pci/controller/pcie-xilinx-cpm.c
@@ -583,8 +583,10 @@ static int xilinx_cpm_pcie_probe(struct platform_device *pdev)
return err;

bus = resource_list_first_type(&bridge->windows, IORESOURCE_BUS);
- if (!bus)
+ if (!bus) {
+ xilinx_cpm_free_irq_domains(port);
return -ENODEV;
+ }

port->variant = of_device_get_match_data(dev);

--
2.43.0