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

Commit 11659a1d authored by Bjorn Helgaas's avatar Bjorn Helgaas
Browse files

PCI: xgene: 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 c3245a56
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -542,12 +542,14 @@ static int xgene_pcie_probe_bridge(struct platform_device *pdev)

	ret = xgene_pcie_setup(port, &res, iobase);
	if (ret)
		return ret;
		goto error;

	bus = pci_create_root_bus(&pdev->dev, 0,
					&xgene_pcie_ops, port, &res);
	if (!bus)
		return -ENOMEM;
	if (!bus) {
		ret = -ENOMEM;
		goto error;
	}

	pci_scan_child_bus(bus);
	pci_assign_unassigned_bus_resources(bus);
@@ -555,6 +557,10 @@ static int xgene_pcie_probe_bridge(struct platform_device *pdev)

	platform_set_drvdata(pdev, port);
	return 0;

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

static const struct of_device_id xgene_pcie_match_table[] = {