|
@@ -294,6 +294,7 @@ int __ref cpci_configure_slot(struct slot *slot)
|
|
|
struct pci_bus *child;
|
|
|
unsigned char busnr, start = parent->busn_res.start;
|
|
|
unsigned char end = parent->busn_res.end;
|
|
|
+ int max;
|
|
|
|
|
|
for (busnr = start; busnr <= end; busnr++) {
|
|
|
if (!pci_find_bus(pci_domain_nr(parent),
|
|
@@ -312,7 +313,8 @@ int __ref cpci_configure_slot(struct slot *slot)
|
|
|
pci_dev_put(dev);
|
|
|
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_dev_put(dev);
|