Linux Power Management development
 help / color / mirror / Atom feed
* [PATCH v2] dax/bus: Upgrade resource conflict message to dev_err() in alloc_dax_region()
@ 2026-05-19 10:18 Tomasz Wolski
  2026-05-19 11:31 ` Jonathan Cameron
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Tomasz Wolski @ 2026-05-19 10:18 UTC (permalink / raw)
  To: smita.koralahallichannabasappa, alison.schofield, dan.j.williams
  Cc: icheng, linux-cxl, linux-fsdevel, linux-kernel, linux-pm, nvdimm,
	ardb, benjamin.cheatham, dave.jiang, jonathan.cameron,
	Tomasz Wolski

The dax_region resource conflict in alloc_dax_region() indicates a
serious configuration problem — two subsystems (e.g. dax_hmem and
dax_cxl) are attempting to register overlapping address ranges. This is
not a transient or debug-level condition; it represents a genuine
resource conflict that an administrator needs to be aware of.

Switch from request_resource() + dev_dbg() to
request_resource_conflict() + dev_err() so that the conflict is visible
by default and the colliding resource is identified in the message.

Suggested-by: Dan Williams <dan.j.williams@intel.com>
Link: https://lore.kernel.org/linux-cxl/69c1a8d1c0fa9_7ee3100a1@dwillia2-mobl4.notmuch/
Signed-off-by: Tomasz Wolski <tomasz.wolski@fujitsu.com>
---
 drivers/dax/bus.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/drivers/dax/bus.c b/drivers/dax/bus.c
index 68437c05e21d..66413c6c2ba0 100644
--- a/drivers/dax/bus.c
+++ b/drivers/dax/bus.c
@@ -637,7 +637,7 @@ struct dax_region *alloc_dax_region(struct device *parent, int region_id,
 		unsigned long flags)
 {
 	struct dax_region *dax_region;
-	int rc;
+	struct resource *conflict;
 
 	/*
 	 * The DAX core assumes that it can store its private data in
@@ -670,10 +670,11 @@ struct dax_region *alloc_dax_region(struct device *parent, int region_id,
 		.flags = IORESOURCE_MEM | flags,
 	};
 
-	rc = request_resource(&dax_regions, &dax_region->res);
-	if (rc) {
-		dev_dbg(parent, "dax_region resource conflict for %pR\n",
-			&dax_region->res);
+	conflict = request_resource_conflict(&dax_regions, &dax_region->res);
+	if (conflict) {
+		dev_err(parent,
+			"dax_region: can't claim %pR: address conflict with %s %pR\n",
+			&dax_region->res, conflict->name, conflict);
 		goto err_res;
 	}
 
-- 
2.47.3



^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-05-20  3:56 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-19 10:18 [PATCH v2] dax/bus: Upgrade resource conflict message to dev_err() in alloc_dax_region() Tomasz Wolski
2026-05-19 11:31 ` Jonathan Cameron
2026-05-19 23:27   ` Richard Cheng
2026-05-20  0:14 ` kernel test robot
2026-05-20  2:48   ` Alison Schofield
2026-05-20  3:56 ` Dan Williams

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox