Skip to content

Commit 9e7b7ab

Browse files
MingLi-4davejiang
authored andcommitted
cxl/region: Drop goto pattern in cxl_dax_region_alloc()
In cxl_dax_region_alloc(), there is a goto pattern to release the rwsem cxl_region_rwsem when the function returns, the down_read() and up_read can be replaced by a guard(rwsem_read) then the goto pattern can be removed. Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Reviewed-by: Dave Jiang <dave.jiang@intel.com> Reviewed-by: Alison Schofield <alison.schofield@intel.com> Reviewed-by: Ira Weiny <ira.weiny@intel.com> Acked-by: Davidlohr Bueso <dave@stgolabs.net> Signed-off-by: Li Ming <ming.li@zohomail.com> Link: https://patch.msgid.link/20250221012453.126366-7-ming.li@zohomail.com Signed-off-by: Dave Jiang <dave.jiang@intel.com>
1 parent a81ebe7 commit 9e7b7ab

File tree

1 file changed

+5
-11
lines changed

1 file changed

+5
-11
lines changed

drivers/cxl/core/region.c

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3038,17 +3038,13 @@ static struct cxl_dax_region *cxl_dax_region_alloc(struct cxl_region *cxlr)
30383038
struct cxl_dax_region *cxlr_dax;
30393039
struct device *dev;
30403040

3041-
down_read(&cxl_region_rwsem);
3042-
if (p->state != CXL_CONFIG_COMMIT) {
3043-
cxlr_dax = ERR_PTR(-ENXIO);
3044-
goto out;
3045-
}
3041+
guard(rwsem_read)(&cxl_region_rwsem);
3042+
if (p->state != CXL_CONFIG_COMMIT)
3043+
return ERR_PTR(-ENXIO);
30463044

30473045
cxlr_dax = kzalloc(sizeof(*cxlr_dax), GFP_KERNEL);
3048-
if (!cxlr_dax) {
3049-
cxlr_dax = ERR_PTR(-ENOMEM);
3050-
goto out;
3051-
}
3046+
if (!cxlr_dax)
3047+
return ERR_PTR(-ENOMEM);
30523048

30533049
cxlr_dax->hpa_range.start = p->res->start;
30543050
cxlr_dax->hpa_range.end = p->res->end;
@@ -3061,8 +3057,6 @@ static struct cxl_dax_region *cxl_dax_region_alloc(struct cxl_region *cxlr)
30613057
dev->parent = &cxlr->dev;
30623058
dev->bus = &cxl_bus_type;
30633059
dev->type = &cxl_dax_region_type;
3064-
out:
3065-
up_read(&cxl_region_rwsem);
30663060

30673061
return cxlr_dax;
30683062
}

0 commit comments

Comments
 (0)