]> www.infradead.org Git - users/willy/linux.git/commitdiff
cxl/core: cxl_mem_sanitize() cleanup
authorLi Ming <ming.li@zohomail.com>
Fri, 21 Feb 2025 01:24:48 +0000 (09:24 +0800)
committerDave Jiang <dave.jiang@intel.com>
Fri, 14 Mar 2025 21:37:42 +0000 (14:37 -0700)
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>
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-3-ming.li@zohomail.com
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
drivers/cxl/core/mbox.c

index 548564c770c02c0a4571a00ae3f6de8f63183183..0601297af0c9bb2fbf5d754b23ae0b78345168b5 100644 (file)
@@ -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,