[PATCH] cxl/hdm: allow zero sized committed decoders
From: Vishal Aslot
Date: Wed Oct 01 2025 - 16:37:41 EST
Signed-off-by: Vishal Aslot <vaslot@xxxxxxxxxx>
---
drivers/cxl/core/hdm.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/cxl/core/hdm.c b/drivers/cxl/core/hdm.c
index e9e1d555cec6..97a5f27f5b72 100644
--- a/drivers/cxl/core/hdm.c
+++ b/drivers/cxl/core/hdm.c
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-only
-/* Copyright(c) 2022 Intel Corporation. All rights reserved. */
+/* Copyright(c) 2022-2025 Intel Corporation. All rights reserved. */
#include <linux/seq_file.h>
#include <linux/device.h>
#include <linux/delay.h>
@@ -1050,7 +1050,7 @@ static int init_hdm_decoder(struct cxl_port *port, struct cxl_decoder *cxld,
dev_warn(&port->dev,
"decoder%d.%d: Committed with zero size\n",
port->id, cxld->id);
- return -ENXIO;
+ return -ENOSPC;
}
port->commit_end = cxld->id;
} else {
@@ -1210,6 +1210,11 @@ int devm_cxl_enumerate_decoders(struct cxl_hdm *cxlhdm,
rc = init_hdm_decoder(port, cxld, target_map, hdm, i,
&dpa_base, info);
if (rc) {
+ if (rc == -ENOSPC) {
+ put_device(&cxld->dev);
+ rc = 0;
+ continue;
+ }
dev_warn(&port->dev,
"Failed to initialize decoder%d.%d\n",
port->id, i);
--
2.34.1