return child;
 }
 
-static void pci_fixup_parent_subordinate_busnr(struct pci_bus *child, int max)
-{
-       struct pci_bus *parent = child->parent;
-
-       /* Attempts to fix that up are really dangerous unless
-          we're going to re-assign all bus numbers. */
-       if (!pcibios_assign_all_busses())
-               return;
-
-       while (parent->parent && parent->busn_res.end < max) {
-               parent->busn_res.end = max;
-               pci_write_config_byte(parent->self, PCI_SUBORDINATE_BUS, max);
-               parent = parent->parent;
-       }
-}
-
 /*
  * If it's a bridge, configure it and scan the bus behind it.
  * For CardBus bridges, we don't scan behind as the devices will
 
                if (!is_cardbus) {
                        child->bridge_ctl = bctl;
-                       /*
-                        * Adjust subordinate busnr in parent buses.
-                        * We do this before scanning for children because
-                        * some devices may not be detected if the bios
-                        * was lazy.
-                        */
-                       pci_fixup_parent_subordinate_busnr(child, max);
-                       /* Now we can scan all subordinate buses... */
                        max = pci_scan_child_bus(child);
-                       /*
-                        * now fix it up again since we have found
-                        * the real value of max.
-                        */
-                       pci_fixup_parent_subordinate_busnr(child, max);
                } else {
                        /*
                         * For CardBus bridges, we leave 4 bus numbers
                                }
                        }
                        max += i;
-                       pci_fixup_parent_subordinate_busnr(child, max);
                }
                /*
                 * Set the subordinate bus number to its real value.