[RFC PATCH 1/4] cxl/mem: Add support to cleanly continue after attach

From: Dan Williams

Date: Fri Apr 03 2026 - 17:02:12 EST


For drivers that want to fallback to PCI-only operation, immediately
cleanup on attach failure. Otherwise vestigial topology objects are left
until driver unload.

Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>
---
drivers/cxl/mem.c | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/drivers/cxl/mem.c b/drivers/cxl/mem.c
index ff858318091f..5e7fa378dd66 100644
--- a/drivers/cxl/mem.c
+++ b/drivers/cxl/mem.c
@@ -201,7 +201,19 @@ static int cxl_mem_probe(struct device *dev)
struct cxl_memdev *devm_cxl_add_memdev(struct cxl_dev_state *cxlds,
const struct cxl_memdev_attach *attach)
{
- return __devm_cxl_add_memdev(cxlds, attach);
+ struct cxl_memdev *cxlmd;
+ void *group;
+
+ group = devres_open_group(cxlds->dev, NULL, GFP_KERNEL);
+ if (!group)
+ return ERR_PTR(-ENOMEM);
+
+ cxlmd = __devm_cxl_add_memdev(cxlds, attach);
+ if (IS_ERR(cxlmd))
+ devres_release_group(cxlds->dev, group);
+ else
+ devres_remove_group(cxlds->dev, group);
+ return cxlmd;
}
EXPORT_SYMBOL_NS_GPL(devm_cxl_add_memdev, "CXL");

--
2.53.0