summaryrefslogtreecommitdiff
path: root/drivers/cxl/port.c
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2023-06-26 04:56:13 +0300
committerDan Williams <dan.j.williams@intel.com>2023-06-26 04:56:13 +0300
commit0c0df63177e37ae826d803280eb2c5b6b6a7a9a4 (patch)
tree5b158934251cb6537491371d3dd09fcf349a3102 /drivers/cxl/port.c
parentd2f9fe695313b1e50028c1ec4cd09bea67152a60 (diff)
parent5d2ffbe4b81a3b6353bf888a523e7e5d4fec47ad (diff)
downloadlinux-0c0df63177e37ae826d803280eb2c5b6b6a7a9a4.tar.xz
Merge branch 'for-6.5/cxl-rch-eh' into for-6.5/cxl
Pick up the first half of the RCH error handling series. The back half needs some fixups for test regressions. Small conflicts with the PMU work around register enumeration and setup helpers.
Diffstat (limited to 'drivers/cxl/port.c')
-rw-r--r--drivers/cxl/port.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/cxl/port.c b/drivers/cxl/port.c
index 07c5ac598da1..6240e05b9542 100644
--- a/drivers/cxl/port.c
+++ b/drivers/cxl/port.c
@@ -87,7 +87,7 @@ static int cxl_switch_port_probe(struct cxl_port *port)
static int cxl_endpoint_port_probe(struct cxl_port *port)
{
struct cxl_endpoint_dvsec_info info = { .port = port };
- struct cxl_memdev *cxlmd = to_cxl_memdev(port->uport);
+ struct cxl_memdev *cxlmd = to_cxl_memdev(port->uport_dev);
struct cxl_dev_state *cxlds = cxlmd->cxlds;
struct cxl_hdm *cxlhdm;
struct cxl_port *root;
@@ -98,8 +98,11 @@ static int cxl_endpoint_port_probe(struct cxl_port *port)
return rc;
cxlhdm = devm_cxl_setup_hdm(port, &info);
- if (IS_ERR(cxlhdm))
+ if (IS_ERR(cxlhdm)) {
+ if (PTR_ERR(cxlhdm) == -ENODEV)
+ dev_err(&port->dev, "HDM decoder registers not found\n");
return PTR_ERR(cxlhdm);
+ }
/* Cache the data early to ensure is_visible() works */
read_cdat_data(port);