diff options
-rw-r--r-- | arch/x86/pci/mmconfig-shared.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/arch/x86/pci/mmconfig-shared.c b/arch/x86/pci/mmconfig-shared.c index ba3aa3697418..90422b4a7c91 100644 --- a/arch/x86/pci/mmconfig-shared.c +++ b/arch/x86/pci/mmconfig-shared.c | |||
@@ -438,9 +438,10 @@ static int __init is_acpi_reserved(u64 start, u64 end, unsigned not_used) | |||
438 | typedef int (*check_reserved_t)(u64 start, u64 end, unsigned type); | 438 | typedef int (*check_reserved_t)(u64 start, u64 end, unsigned type); |
439 | 439 | ||
440 | static int __init is_mmconf_reserved(check_reserved_t is_reserved, | 440 | static int __init is_mmconf_reserved(check_reserved_t is_reserved, |
441 | u64 addr, u64 size, int i, | 441 | int i, typeof(pci_mmcfg_config[0]) *cfg, int with_e820) |
442 | typeof(pci_mmcfg_config[0]) *cfg, int with_e820) | ||
443 | { | 442 | { |
443 | u64 addr = cfg->res.start; | ||
444 | u64 size = resource_size(&cfg->res); | ||
444 | u64 old_size = size; | 445 | u64 old_size = size; |
445 | int valid = 0, num_buses; | 446 | int valid = 0, num_buses; |
446 | 447 | ||
@@ -486,11 +487,8 @@ static void __init pci_mmcfg_reject_broken(int early) | |||
486 | 487 | ||
487 | for (i = 0; i < pci_mmcfg_config_num; i++) { | 488 | for (i = 0; i < pci_mmcfg_config_num; i++) { |
488 | int valid = 0; | 489 | int valid = 0; |
489 | u64 addr, size; | ||
490 | 490 | ||
491 | cfg = &pci_mmcfg_config[i]; | 491 | cfg = &pci_mmcfg_config[i]; |
492 | addr = cfg->res.start; | ||
493 | size = resource_size(&cfg->res); | ||
494 | printk(KERN_NOTICE "PCI: MCFG configuration %d: base %lx " | 492 | printk(KERN_NOTICE "PCI: MCFG configuration %d: base %lx " |
495 | "segment %hu buses %u - %u\n", | 493 | "segment %hu buses %u - %u\n", |
496 | i, (unsigned long)cfg->address, cfg->segment, | 494 | i, (unsigned long)cfg->address, cfg->segment, |
@@ -498,7 +496,7 @@ static void __init pci_mmcfg_reject_broken(int early) | |||
498 | (unsigned int)cfg->end_bus); | 496 | (unsigned int)cfg->end_bus); |
499 | 497 | ||
500 | if (!early && !acpi_disabled) | 498 | if (!early && !acpi_disabled) |
501 | valid = is_mmconf_reserved(is_acpi_reserved, addr, size, i, cfg, 0); | 499 | valid = is_mmconf_reserved(is_acpi_reserved, i, cfg, 0); |
502 | 500 | ||
503 | if (valid) | 501 | if (valid) |
504 | continue; | 502 | continue; |
@@ -511,7 +509,7 @@ static void __init pci_mmcfg_reject_broken(int early) | |||
511 | /* Don't try to do this check unless configuration | 509 | /* Don't try to do this check unless configuration |
512 | type 1 is available. how about type 2 ?*/ | 510 | type 1 is available. how about type 2 ?*/ |
513 | if (raw_pci_ops) | 511 | if (raw_pci_ops) |
514 | valid = is_mmconf_reserved(e820_all_mapped, addr, size, i, cfg, 1); | 512 | valid = is_mmconf_reserved(e820_all_mapped, i, cfg, 1); |
515 | 513 | ||
516 | if (!valid) | 514 | if (!valid) |
517 | goto reject; | 515 | goto reject; |