|
@@ -1444,8 +1444,12 @@ void pcibios_finish_adding_to_bus(struct pci_bus *bus)
|
|
/* Allocate bus and devices resources */
|
|
/* Allocate bus and devices resources */
|
|
pcibios_allocate_bus_resources(bus);
|
|
pcibios_allocate_bus_resources(bus);
|
|
pcibios_claim_one_bus(bus);
|
|
pcibios_claim_one_bus(bus);
|
|
- if (!pci_has_flag(PCI_PROBE_ONLY))
|
|
|
|
- pci_assign_unassigned_bus_resources(bus);
|
|
|
|
|
|
+ if (!pci_has_flag(PCI_PROBE_ONLY)) {
|
|
|
|
+ if (bus->self)
|
|
|
|
+ pci_assign_unassigned_bridge_resources(bus->self);
|
|
|
|
+ else
|
|
|
|
+ pci_assign_unassigned_bus_resources(bus);
|
|
|
|
+ }
|
|
|
|
|
|
/* Fixup EEH */
|
|
/* Fixup EEH */
|
|
eeh_add_device_tree_late(bus);
|
|
eeh_add_device_tree_late(bus);
|