Re: [PATCH v3 16/18] cxl/region: Add a dev_err() on missing target list entries

Dave Jiang
2025-02-20T17:44:32Z

On 2/11/25 2:53 AM, Robert Richter wrote:
> Broken target lists are hard to discover as the driver fails at a
> later initialization stage. Add an error message for this.
>
> Example log messages:
>
> cxl_mem mem1: failed to find endpoint6:0000:e0:01.3 in target list of decoder1.1
> cxl_port endpoint6: failed to register decoder6.0: -6
> cxl_port endpoint6: probe: 0
>
> Signed-off-by: Robert Richter <rrichter@amd.com>
> Reviewed-by: Gregory Price <gourry@gourry.net>
> Tested-by: Gregory Price <gourry@gourry.net>
Reviewed-by: Dave Jiang <dave.jiang@intel.com>

> ---
> drivers/cxl/core/region.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/cxl/core/region.c b/drivers/cxl/core/region.c
> index 3031d4773274..a56b84e7103a 100644
> --- a/drivers/cxl/core/region.c
> +++ b/drivers/cxl/core/region.c
> @@ -1790,6 +1790,13 @@ static int find_pos_and_ways(struct cxl_port *port, struct range *range,
> }
> put_device(dev);
>
> + if (rc)
> + dev_err(port->uport_dev,
> + "failed to find %s:%s in target list of %s\n",
> + dev_name(&port->dev),
> + dev_name(port->parent_dport->dport_dev),
> + dev_name(&cxlsd->cxld.dev));
> +
> return rc;
> }
>