mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 16:44:58 +02:00
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>
This commit is contained in:
parent
a81ebe7d19
commit
9e7b7ab5af
|
|
@ -3038,17 +3038,13 @@ static struct cxl_dax_region *cxl_dax_region_alloc(struct cxl_region *cxlr)
|
|||
struct cxl_dax_region *cxlr_dax;
|
||||
struct device *dev;
|
||||
|
||||
down_read(&cxl_region_rwsem);
|
||||
if (p->state != CXL_CONFIG_COMMIT) {
|
||||
cxlr_dax = ERR_PTR(-ENXIO);
|
||||
goto out;
|
||||
}
|
||||
guard(rwsem_read)(&cxl_region_rwsem);
|
||||
if (p->state != CXL_CONFIG_COMMIT)
|
||||
return ERR_PTR(-ENXIO);
|
||||
|
||||
cxlr_dax = kzalloc(sizeof(*cxlr_dax), GFP_KERNEL);
|
||||
if (!cxlr_dax) {
|
||||
cxlr_dax = ERR_PTR(-ENOMEM);
|
||||
goto out;
|
||||
}
|
||||
if (!cxlr_dax)
|
||||
return ERR_PTR(-ENOMEM);
|
||||
|
||||
cxlr_dax->hpa_range.start = p->res->start;
|
||||
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)
|
|||
dev->parent = &cxlr->dev;
|
||||
dev->bus = &cxl_bus_type;
|
||||
dev->type = &cxl_dax_region_type;
|
||||
out:
|
||||
up_read(&cxl_region_rwsem);
|
||||
|
||||
return cxlr_dax;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user