diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2012-01-17 19:41:21 -0500 |
---|---|---|
committer | Jesse Barnes <jbarnes@virtuousgeek.org> | 2012-02-14 11:44:49 -0500 |
commit | 316d86fe8641abfad32702c77d9e62cf19e68b00 (patch) | |
tree | d3f32aaf5deaea326b225bd22f8a2e760eae3266 /arch | |
parent | 11608318037f07fe08d64ebcd3f65691cfd77076 (diff) |
x86/PCI: don't fall back to defaults if _CRS has no apertures
Host bridges that lead to things like the Uncore need not have any
I/O port or MMIO apertures. For example, in this case:
ACPI: PCI Root Bridge [UNC1] (domain 0000 [bus ff])
PCI: root bus ff: using default resources
PCI host bridge to bus 0000:ff
pci_bus 0000:ff: root bus resource [io 0x0000-0xffff]
pci_bus 0000:ff: root bus resource [mem 0x00000000-0x3fffffffffff]
we should not pretend those default resources are available on bus ff.
CC: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/pci/acpi.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/x86/pci/acpi.c b/arch/x86/pci/acpi.c index a312e76063a7..daa42490c1d9 100644 --- a/arch/x86/pci/acpi.c +++ b/arch/x86/pci/acpi.c | |||
@@ -404,7 +404,12 @@ struct pci_bus * __devinit pci_acpi_scan_root(struct acpi_pci_root *root) | |||
404 | kfree(sd); | 404 | kfree(sd); |
405 | } else { | 405 | } else { |
406 | get_current_resources(device, busnum, domain, &resources); | 406 | get_current_resources(device, busnum, domain, &resources); |
407 | if (list_empty(&resources)) | 407 | |
408 | /* | ||
409 | * _CRS with no apertures is normal, so only fall back to | ||
410 | * defaults or native bridge info if we're ignoring _CRS. | ||
411 | */ | ||
412 | if (!pci_use_crs) | ||
408 | x86_pci_root_bus_resources(busnum, &resources); | 413 | x86_pci_root_bus_resources(busnum, &resources); |
409 | bus = pci_create_root_bus(NULL, busnum, &pci_root_ops, sd, | 414 | bus = pci_create_root_bus(NULL, busnum, &pci_root_ops, sd, |
410 | &resources); | 415 | &resources); |