diff --git a/kernel/resource.c b/kernel/resource.c index e3e78f4a01c67206aeaa46889318e5735db5d477..50289d7116db0e3d8626b0f7411f94dd39bb2cd9 100644 --- a/kernel/resource.c +++ b/kernel/resource.c @@ -1123,6 +1123,15 @@ struct resource * __request_region(struct resource *parent, conflict = __request_resource(parent, res); if (!conflict) break; + /* + * mm/hmm.c reserves physical addresses which then + * become unavailable to other users. Conflicts are + * not expected. Warn to aid debugging if encountered. + */ + if (conflict->desc == IORES_DESC_DEVICE_PRIVATE_MEMORY) { + pr_warn("Unaddressable device %s %pR conflicts with %pR", + conflict->name, conflict, res); + } if (conflict != parent) { if (!(conflict->flags & IORESOURCE_BUSY)) { parent = conflict; diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c index af67355622159bf00310801ef70d5b951b9e3ae3..ccd73a15b7b0d4a595f18bf1f9261ffb5add5572 100644 --- a/mm/memory_hotplug.c +++ b/mm/memory_hotplug.c @@ -111,11 +111,6 @@ static struct resource *register_memory_resource(u64 start, u64 size) res->flags = IORESOURCE_SYSTEM_RAM | IORESOURCE_BUSY; conflict = request_resource_conflict(&iomem_resource, res); if (conflict) { - if (conflict->desc == IORES_DESC_DEVICE_PRIVATE_MEMORY) { - pr_debug("Device unaddressable memory block " - "memory hotplug at %#010llx !\n", - (unsigned long long)start); - } pr_debug("System RAM resource %pR cannot be added\n", res); kfree(res); return ERR_PTR(-EEXIST);