Message ID | 20250107141015.3367194-29-rrichter@amd.com |
---|---|
State | New |
Headers | show |
Series | cxl: Add address translation support and enable AMD Zen5 platforms | expand |
On Tue, Jan 07, 2025 at 03:10:14PM +0100, 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. > > Signed-off-by: Robert Richter <rrichter@amd.com> Reviewed-by: Gregory Price <gourry@gourry.net> > --- > 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 775450a1a887..2af3b6c14f46 100644 > --- a/drivers/cxl/core/region.c > +++ b/drivers/cxl/core/region.c > @@ -1870,6 +1870,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; > } > > -- > 2.39.5 >
On Tue, 7 Jan 2025 15:10:14 +0100 Robert Richter <rrichter@amd.com> wrote: > Broken target lists are hard to discover as the driver fails at a > later initialization stage. Add an error message for this. > > Signed-off-by: Robert Richter <rrichter@amd.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 775450a1a887..2af3b6c14f46 100644 > --- a/drivers/cxl/core/region.c > +++ b/drivers/cxl/core/region.c > @@ -1870,6 +1870,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; > } This function would benefit from some __free() magic dust. Then we could return in the good path in the loop and not need the if (rc) check here. Otherwise looks fine. Jonathan >
diff --git a/drivers/cxl/core/region.c b/drivers/cxl/core/region.c index 775450a1a887..2af3b6c14f46 100644 --- a/drivers/cxl/core/region.c +++ b/drivers/cxl/core/region.c @@ -1870,6 +1870,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; }
Broken target lists are hard to discover as the driver fails at a later initialization stage. Add an error message for this. Signed-off-by: Robert Richter <rrichter@amd.com> --- drivers/cxl/core/region.c | 7 +++++++ 1 file changed, 7 insertions(+)