for AMD Fam10h, it we read mmconf from MSR early, we should just trust it because we check it and correct it already. so skip the reject check there. Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx> --- arch/x86/pci/mmconfig-shared.c | 10 +++++++++- 1 files changed, 9 insertions(+), 1 deletions(-) diff --git a/arch/x86/pci/mmconfig-shared.c b/arch/x86/pci/mmconfig-shared.c index b19d1e5..bcce99b 100644 --- a/arch/x86/pci/mmconfig-shared.c +++ b/arch/x86/pci/mmconfig-shared.c @@ -168,6 +168,7 @@ static const char __init *pci_mmcfg_intel_945(void) return "Intel Corporation 945G/GZ/P/PL Express Memory Controller Hub"; } +static int __initdata amd_fam10h_mmconf_found_via_hostbridge; static const char __init *pci_mmcfg_amd_fam10h(void) { u32 low, high, address; @@ -215,6 +216,8 @@ static const char __init *pci_mmcfg_amd_fam10h(void) return NULL; } + amd_fam10h_mmconf_found_via_hostbridge = 1; + return "AMD Family 10h NB"; } @@ -606,7 +609,12 @@ static void __init __pci_mmcfg_init(int early) if (!known_bridge) acpi_sfi_table_parse(ACPI_SIG_MCFG, pci_parse_mcfg); - pci_mmcfg_reject_broken(early); + /* + * if it is amd fam10h, and that is read from msr, + * we don't need check them again. + */ + if (!amd_fam10h_mmconf_found_via_hostbridge) + pci_mmcfg_reject_broken(early); if (list_empty(&pci_mmcfg_list)) return; -- 1.6.4.2 -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html