diff options
Diffstat (limited to 'arch/x86/pci')
-rw-r--r-- | arch/x86/pci/mmconfig-shared.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/x86/pci/mmconfig-shared.c b/arch/x86/pci/mmconfig-shared.c index e282886616a0..750c346ef50a 100644 --- a/arch/x86/pci/mmconfig-shared.c +++ b/arch/x86/pci/mmconfig-shared.c | |||
@@ -606,6 +606,16 @@ static void __init __pci_mmcfg_init(int early) | |||
606 | if (list_empty(&pci_mmcfg_list)) | 606 | if (list_empty(&pci_mmcfg_list)) |
607 | return; | 607 | return; |
608 | 608 | ||
609 | if (pcibios_last_bus < 0) { | ||
610 | const struct pci_mmcfg_region *cfg; | ||
611 | |||
612 | list_for_each_entry(cfg, &pci_mmcfg_list, list) { | ||
613 | if (cfg->segment) | ||
614 | break; | ||
615 | pcibios_last_bus = cfg->end_bus; | ||
616 | } | ||
617 | } | ||
618 | |||
609 | if (pci_mmcfg_arch_init()) | 619 | if (pci_mmcfg_arch_init()) |
610 | pci_probe = (pci_probe & ~PCI_PROBE_MASK) | PCI_PROBE_MMCONF; | 620 | pci_probe = (pci_probe & ~PCI_PROBE_MASK) | PCI_PROBE_MMCONF; |
611 | else { | 621 | else { |