Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c41be7a6 authored by Bjorn Helgaas's avatar Bjorn Helgaas
Browse files

PCI: xilinx: Free bridge resource list on failure



of_pci_get_host_bridge_resources() allocates a list of resources for host
bridge windows.  If we fail after allocating that list, free it before we
return error.

Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
parent 0ccb7eef
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -660,7 +660,6 @@ static int xilinx_pcie_probe(struct platform_device *pdev)
	struct xilinx_pcie_port *port;
	struct device *dev = &pdev->dev;
	struct pci_bus *bus;

	int err;
	resource_size_t iobase = 0;
	LIST_HEAD(res);
@@ -696,8 +695,10 @@ static int xilinx_pcie_probe(struct platform_device *pdev)
	}
	bus = pci_create_root_bus(&pdev->dev, 0,
				  &xilinx_pcie_ops, port, &res);
	if (!bus)
		return -ENOMEM;
	if (!bus) {
		err = -ENOMEM;
		goto error;
	}

#ifdef CONFIG_PCI_MSI
	xilinx_pcie_msi_chip.dev = port->dev;
@@ -712,6 +713,10 @@ static int xilinx_pcie_probe(struct platform_device *pdev)
	platform_set_drvdata(pdev, port);

	return 0;

error:
	pci_free_resource_list(&res);
	return err;
}

/**