Message ID | 20250217144828.30651-3-ming.li@zohomail.com |
---|---|
State | New |
Headers | show |
Series | Use guard() instead of rwsem locking | expand |
On 2/17/25 7:48 AM, Li Ming wrote: > In cxl_mem_sanitize(), the down_read() and up_read() for > cxl_region_rwsem can be simply replaced by a guard(rwsem_read), and the > local variable 'rc' can be removed. > > Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> > Signed-off-by: Li Ming <ming.li@zohomail.com> Reviewed-by: Dave Jiang <dave.jiang@intel.com> > --- > drivers/cxl/core/mbox.c | 10 +++------- > 1 file changed, 3 insertions(+), 7 deletions(-) > > diff --git a/drivers/cxl/core/mbox.c b/drivers/cxl/core/mbox.c > index 548564c770c0..0601297af0c9 100644 > --- a/drivers/cxl/core/mbox.c > +++ b/drivers/cxl/core/mbox.c > @@ -1222,23 +1222,19 @@ int cxl_mem_sanitize(struct cxl_memdev *cxlmd, u16 cmd) > { > struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlmd->cxlds); > struct cxl_port *endpoint; > - int rc; > > /* synchronize with cxl_mem_probe() and decoder write operations */ > guard(device)(&cxlmd->dev); > endpoint = cxlmd->endpoint; > - down_read(&cxl_region_rwsem); > + guard(rwsem_read)(&cxl_region_rwsem); > /* > * Require an endpoint to be safe otherwise the driver can not > * be sure that the device is unmapped. > */ > if (endpoint && cxl_num_decoders_committed(endpoint) == 0) > - rc = __cxl_mem_sanitize(mds, cmd); > - else > - rc = -EBUSY; > - up_read(&cxl_region_rwsem); > + return __cxl_mem_sanitize(mds, cmd); > > - return rc; > + return -EBUSY; > } > > static int add_dpa_res(struct device *dev, struct resource *parent,
On Mon, Feb 17, 2025 at 10:48:23PM +0800, Li Ming wrote: > In cxl_mem_sanitize(), the down_read() and up_read() for > cxl_region_rwsem can be simply replaced by a guard(rwsem_read), and the > local variable 'rc' can be removed. > > Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> > Signed-off-by: Li Ming <ming.li@zohomail.com> > --- > drivers/cxl/core/mbox.c | 10 +++------- > 1 file changed, 3 insertions(+), 7 deletions(-) Reviewed-by: Alison Schofield <alison.schofield@intel.com> snip
diff --git a/drivers/cxl/core/mbox.c b/drivers/cxl/core/mbox.c index 548564c770c0..0601297af0c9 100644 --- a/drivers/cxl/core/mbox.c +++ b/drivers/cxl/core/mbox.c @@ -1222,23 +1222,19 @@ int cxl_mem_sanitize(struct cxl_memdev *cxlmd, u16 cmd) { struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlmd->cxlds); struct cxl_port *endpoint; - int rc; /* synchronize with cxl_mem_probe() and decoder write operations */ guard(device)(&cxlmd->dev); endpoint = cxlmd->endpoint; - down_read(&cxl_region_rwsem); + guard(rwsem_read)(&cxl_region_rwsem); /* * Require an endpoint to be safe otherwise the driver can not * be sure that the device is unmapped. */ if (endpoint && cxl_num_decoders_committed(endpoint) == 0) - rc = __cxl_mem_sanitize(mds, cmd); - else - rc = -EBUSY; - up_read(&cxl_region_rwsem); + return __cxl_mem_sanitize(mds, cmd); - return rc; + return -EBUSY; } static int add_dpa_res(struct device *dev, struct resource *parent,