diff options
author | Bjorn Helgaas <bjorn.helgaas@hp.com> | 2010-03-25 11:28:24 -0400 |
---|---|---|
committer | Jesse Barnes <jbarnes@virtuousgeek.org> | 2010-03-25 13:14:07 -0400 |
commit | eb9fc8ef7cb1362374e55d9503e3e7458f319991 (patch) | |
tree | e5618d1b18fec1a90234ff3c56aeb911f2891a4a /arch/x86/pci | |
parent | 99f4692e13ba22b228bdd155473f24ae9bdec1dc (diff) |
x86/PCI: for host bridge address space collisions, show conflicting resource
With insert_resource_conflict(), we can learn what the actual conflict is,
so print that info for debugging purposes.
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'arch/x86/pci')
-rw-r--r-- | arch/x86/pci/acpi.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/x86/pci/acpi.c b/arch/x86/pci/acpi.c index 6e22454bfaa6..75ac3f856ea5 100644 --- a/arch/x86/pci/acpi.c +++ b/arch/x86/pci/acpi.c | |||
@@ -122,7 +122,7 @@ setup_resource(struct acpi_resource *acpi_res, void *data) | |||
122 | struct acpi_resource_address64 addr; | 122 | struct acpi_resource_address64 addr; |
123 | acpi_status status; | 123 | acpi_status status; |
124 | unsigned long flags; | 124 | unsigned long flags; |
125 | struct resource *root; | 125 | struct resource *root, *conflict; |
126 | u64 start, end; | 126 | u64 start, end; |
127 | 127 | ||
128 | status = resource_to_addr(acpi_res, &addr); | 128 | status = resource_to_addr(acpi_res, &addr); |
@@ -157,9 +157,12 @@ setup_resource(struct acpi_resource *acpi_res, void *data) | |||
157 | return AE_OK; | 157 | return AE_OK; |
158 | } | 158 | } |
159 | 159 | ||
160 | if (insert_resource(root, res)) { | 160 | conflict = insert_resource_conflict(root, res); |
161 | if (conflict) { | ||
161 | dev_err(&info->bridge->dev, | 162 | dev_err(&info->bridge->dev, |
162 | "can't allocate host bridge window %pR\n", res); | 163 | "address space collision: host bridge window %pR " |
164 | "conflicts with %s %pR\n", | ||
165 | res, conflict->name, conflict); | ||
163 | } else { | 166 | } else { |
164 | pci_bus_add_resource(info->bus, res, 0); | 167 | pci_bus_add_resource(info->bus, res, 0); |
165 | info->res_num++; | 168 | info->res_num++; |