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>
This commit is contained in:
committed by
Jesse Barnes
parent
99f4692e13
commit
eb9fc8ef7c
@@ -122,7 +122,7 @@ setup_resource(struct acpi_resource *acpi_res, void *data)
|
|||||||
struct acpi_resource_address64 addr;
|
struct acpi_resource_address64 addr;
|
||||||
acpi_status status;
|
acpi_status status;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
struct resource *root;
|
struct resource *root, *conflict;
|
||||||
u64 start, end;
|
u64 start, end;
|
||||||
|
|
||||||
status = resource_to_addr(acpi_res, &addr);
|
status = resource_to_addr(acpi_res, &addr);
|
||||||
@@ -157,9 +157,12 @@ setup_resource(struct acpi_resource *acpi_res, void *data)
|
|||||||
return AE_OK;
|
return AE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (insert_resource(root, res)) {
|
conflict = insert_resource_conflict(root, res);
|
||||||
|
if (conflict) {
|
||||||
dev_err(&info->bridge->dev,
|
dev_err(&info->bridge->dev,
|
||||||
"can't allocate host bridge window %pR\n", res);
|
"address space collision: host bridge window %pR "
|
||||||
|
"conflicts with %s %pR\n",
|
||||||
|
res, conflict->name, conflict);
|
||||||
} else {
|
} else {
|
||||||
pci_bus_add_resource(info->bus, res, 0);
|
pci_bus_add_resource(info->bus, res, 0);
|
||||||
info->res_num++;
|
info->res_num++;
|
||||||
|
Reference in New Issue
Block a user