cxl/core/port: Fix NULL but dereferenced coccicheck error
authorWan Jiabing <wanjiabing@vivo.com>
Mon, 7 Mar 2022 09:41:48 +0000 (17:41 +0800)
committerDan Williams <dan.j.williams@intel.com>
Tue, 22 Mar 2022 17:51:17 +0000 (10:51 -0700)
Fix the following coccicheck warning:
./drivers/cxl/core/port.c:913:21-24: ERROR: port is NULL but dereferenced.

The put_device() is only relevent in the is_cxl_root() case.

Fixes: 2703c16c75ae ("cxl/core/port: Add switch port enumeration")
Signed-off-by: Wan Jiabing <wanjiabing@vivo.com>
Link: https://lore.kernel.org/r/20220307094158.404882-1-wanjiabing@vivo.com
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/cxl/core/port.c

index c168124..2ab1ba4 100644 (file)
@@ -911,7 +911,10 @@ static void cxl_detach_ep(void *data)
                        break;
 
                port = find_cxl_port(dport_dev);
-               if (!port || is_cxl_root(port)) {
+               if (!port)
+                       continue;
+
+               if (is_cxl_root(port)) {
                        put_device(&port->dev);
                        continue;
                }