Skip to content

Commit

Permalink
cxl/region: Cleanup target list on attach error
Browse files Browse the repository at this point in the history
Jonathan noticed that the target list setup is not unwound completely
upon error. Undo all the setup in the 'err_decrement:' exit path.

Fixes: 27b3f8d ("cxl/region: Program target lists")
Reported-by: Jonathan Cameron <Jonathan.Cameron@Huawei.com>
Link: http://lore.kernel.org/r/20230208123031.00006990@Huawei.com
Reviewed-by: Ira Weiny <ira.weiny@intel.com>
Reviewed-by: Vishal Verma <vishal.l.verma@intel.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/167601996980.1924368.390423634911157277.stgit@dwillia2-xfh.jf.intel.com
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
  • Loading branch information
Dan Williams committed Feb 11, 2023
1 parent 3528b1e commit 86987c7
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions drivers/cxl/core/region.c
Original file line number Diff line number Diff line change
Expand Up @@ -1347,6 +1347,8 @@ static int cxl_region_attach(struct cxl_region *cxlr,

err_decrement:
p->nr_targets--;
cxled->pos = -1;
p->targets[pos] = NULL;
err:
for (iter = ep_port; !is_cxl_root(iter);
iter = to_cxl_port(iter->dev.parent))
Expand Down

0 comments on commit 86987c7

Please sign in to comment.