|
@@ -66,6 +66,7 @@ int __ref shpchp_configure_device(struct slot *p_slot)
|
|
struct pci_bus *child;
|
|
struct pci_bus *child;
|
|
unsigned char busnr, start = parent->busn_res.start;
|
|
unsigned char busnr, start = parent->busn_res.start;
|
|
unsigned char end = parent->busn_res.end;
|
|
unsigned char end = parent->busn_res.end;
|
|
|
|
+ int max;
|
|
for (busnr = start; busnr <= end; busnr++) {
|
|
for (busnr = start; busnr <= end; busnr++) {
|
|
if (!pci_find_bus(pci_domain_nr(parent),
|
|
if (!pci_find_bus(pci_domain_nr(parent),
|
|
busnr))
|
|
busnr))
|
|
@@ -84,7 +85,8 @@ int __ref shpchp_configure_device(struct slot *p_slot)
|
|
pci_dev_put(dev);
|
|
pci_dev_put(dev);
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
- child->busn_res.end = pci_do_scan_bus(child);
|
|
|
|
|
|
+ max = pci_do_scan_bus(child);
|
|
|
|
+ pci_bus_update_busn_res_end(child, max);
|
|
pci_bus_size_bridges(child);
|
|
pci_bus_size_bridges(child);
|
|
}
|
|
}
|
|
pci_configure_slot(dev);
|
|
pci_configure_slot(dev);
|