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

Commit 817a2685 authored by Yinghai Lu's avatar Yinghai Lu Committed by Bjorn Helgaas
Browse files

PCI: Use correct type when freeing bus resource list



Should use struct pci_bus_resource instead of struct pci_host_bridge_window

Commit 45ca9e97 ("PCI: add helpers for building PCI bus resource lists")
added pci_free_resource_list() and used it in pci_bus_remove_resources().
Later it was also used for host bridge aperture lists, which was fine until
commit 0efd5aab ("PCI: add struct pci_host_bridge_window with CPU/bus
address offset").  That commit added offset information, so we needed a
struct pci_host_bridge_window that was separate from struct
pci_bus_resource.

Commit 0efd5aab should have split the host bridge aperture users of
pci_free_resource_list() from the pci_bus_resource user
(pci_bus_remove_resources()), but it did not.

[bhelgaas: changelog -- 0efd5aab was mine, so this is all my fault]
Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
parent 1965f66e
Loading
Loading
Loading
Loading
+5 −1
Original line number Original line Diff line number Diff line
@@ -87,11 +87,15 @@ EXPORT_SYMBOL_GPL(pci_bus_resource_n);
void pci_bus_remove_resources(struct pci_bus *bus)
void pci_bus_remove_resources(struct pci_bus *bus)
{
{
	int i;
	int i;
	struct pci_bus_resource *bus_res, *tmp;


	for (i = 0; i < PCI_BRIDGE_RESOURCE_NUM; i++)
	for (i = 0; i < PCI_BRIDGE_RESOURCE_NUM; i++)
		bus->resource[i] = NULL;
		bus->resource[i] = NULL;


	pci_free_resource_list(&bus->resources);
	list_for_each_entry_safe(bus_res, tmp, &bus->resources, list) {
		list_del(&bus_res->list);
		kfree(bus_res);
	}
}
}


/**
/**