summaryrefslogtreecommitdiffstats
path: root/drivers/cxl/mem.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/cxl/mem.c')
-rw-r--r--drivers/cxl/mem.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/cxl/mem.c b/drivers/cxl/mem.c
index 7622cfefa1b0..184549e5093f 100644
--- a/drivers/cxl/mem.c
+++ b/drivers/cxl/mem.c
@@ -171,13 +171,15 @@ static int cxl_mem_probe(struct device *dev)
dev_err(dev, "CXL port topology %s not enabled\n",
dev_name(&parent_port->dev));
rc = -ENXIO;
- goto out;
+ goto unlock;
}
rc = create_endpoint(cxlmd, parent_port);
-out:
+unlock:
device_unlock(&parent_port->dev);
put_device(&parent_port->dev);
+ if (rc)
+ return rc;
/*
* The kernel may be operating out of CXL memory on this device,