Commit 76a4121e authored by Dan Williams's avatar Dan Williams

cxl/mem: Fix cxl_mem_probe() error exit

The addition of cxl_mem_active() broke error exit scenarios for
cxl_mem_probe(). Return early rather than proceed with disabling
suspend, and update the label name since it is no longer a terminal
"out" label that exits the function.

Fixes: 9ea4dcf4 ("PM: CXL: Disable suspend")
Reviewed-by: default avatarIra Weiny <ira.weiny@intel.com>
Reviewed-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/165291687176.1426646.15449254938752532784.stgit@dwillia2-xfhSigned-off-by: default avatarDan Williams <dan.j.williams@intel.com>
parent 194d5eda
...@@ -171,13 +171,15 @@ static int cxl_mem_probe(struct device *dev) ...@@ -171,13 +171,15 @@ static int cxl_mem_probe(struct device *dev)
dev_err(dev, "CXL port topology %s not enabled\n", dev_err(dev, "CXL port topology %s not enabled\n",
dev_name(&parent_port->dev)); dev_name(&parent_port->dev));
rc = -ENXIO; rc = -ENXIO;
goto out; goto unlock;
} }
rc = create_endpoint(cxlmd, parent_port); rc = create_endpoint(cxlmd, parent_port);
out: unlock:
device_unlock(&parent_port->dev); device_unlock(&parent_port->dev);
put_device(&parent_port->dev); put_device(&parent_port->dev);
if (rc)
return rc;
/* /*
* The kernel may be operating out of CXL memory on this device, * The kernel may be operating out of CXL memory on this device,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment