Alex Chiang wrote: > We have a nice interface for re-scanning a PCI bus which will > discover newly added devices, add them to the device tree, and > enable them properly. > > Ensure that the bridge resources are properly sized and assigned > during the rescan. > > Signed-off-by: Alex Chiang <achiang@xxxxxx> > --- > > drivers/pci/hotplug-pci.c | 16 ++++++++++++---- > 1 files changed, 12 insertions(+), 4 deletions(-) > > diff --git a/drivers/pci/hotplug-pci.c b/drivers/pci/hotplug-pci.c > index 4d4a644..33ab2d2 100644 > --- a/drivers/pci/hotplug-pci.c > +++ b/drivers/pci/hotplug-pci.c > @@ -6,13 +6,21 @@ > > unsigned int __devinit pci_do_scan_bus(struct pci_bus *bus) > { > - unsigned int max; > + unsigned int max, pass; > + struct pci_dev *dev; > > max = pci_scan_child_bus(bus); > > - /* > - * Make the discovered devices available. > - */ > + for (pass=0; pass < 2; pass++) > + list_for_each_entry(dev, &bus->devices, bus_list) { > + if (dev->hdr_type == PCI_HEADER_TYPE_BRIDGE || > + dev->hdr_type == PCI_HEADER_TYPE_CARDBUS) > + if (pass && dev->subordinate) > + pci_bus_size_bridges(dev->subordinate); > + } > + > + pci_bus_assign_resources(bus); > + pci_enable_bridges(bus); > pci_bus_add_devices(bus); The "for (pass=0; pass <2; pass++)" loop doesn't look necessary. And I'm worrying that your change have some bad effect to the existing user of pci_do_scan_bus(). Did you confirm that? Thanks, Kenji Kaneshige -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html