Re: [PATCH v2] PCI: Assign PCI domain by ida_alloc()

From: Jon Hunter
Date: Tue Mar 28 2023 - 13:03:12 EST




On 28/03/2023 14:31, Rob Herring wrote:

...

Does this fix it?:

diff --git a/drivers/pci/remove.c b/drivers/pci/remove.c
index 0145aef1b930..22d39e12b236 100644
--- a/drivers/pci/remove.c
+++ b/drivers/pci/remove.c
@@ -157,8 +157,6 @@ void pci_remove_root_bus(struct pci_bus *bus)
list_for_each_entry_safe(child, tmp,
&bus->devices, bus_list)
pci_remove_bus_device(child);
- pci_remove_bus(bus);
- host_bridge->bus = NULL;

#ifdef CONFIG_PCI_DOMAINS_GENERIC
/* Release domain_nr if it was dynamically allocated */
@@ -166,6 +164,9 @@ void pci_remove_root_bus(struct pci_bus *bus)
pci_bus_release_domain_nr(bus, host_bridge->dev.parent);
#endif

+ pci_remove_bus(bus);
+ host_bridge->bus = NULL;
+
/* remove the host bridge */
device_del(&host_bridge->dev);
}


Yes that does fix it! I had been meaning to get back to this this week to figure out what is going on and so thanks for figuring this out.

If you plan to send a fix for this, please add my ...

Tested-by: Jon Hunter <jonathanh@xxxxxxxxxx>

Cheers!
Jon

--
nvpublic