Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
                        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),
                                                        busnr))
                                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_configure_slot(dev);