@@ -3554,7 +3554,7 @@ static void pci_reassign_root_bus_resources(struct pci_bus *root)
unsigned int pci_rescan_bus(struct pci_bus *bus)
{
unsigned int max;
- struct pci_bus *root = bus;
+ struct pci_bus *root = bus, *child;
while (!pci_is_root_bus(root))
root = root->parent;
@@ -3575,6 +3575,9 @@ unsigned int pci_rescan_bus(struct pci_bus *bus)
pci_assign_unassigned_bus_resources(bus);
}
+ list_for_each_entry(child, &root->children, node)
+ pcie_bus_configure_settings(child);
+
pci_bus_add_devices(bus);
return max;
Assure that MPS settings are set up for bridges which are discovered during manually triggered rescan via sysfs. This sequence of bridge init (using pci_rescan_bus()) later will be used for pciehp hot-add events when BAR movement is enabled. Signed-off-by: Sergei Miroshnichenko <s.miroshnichenko@yadro.com> --- drivers/pci/probe.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)