net/smc: return the right falback reason when prefix checks fail
authorDust Li <dust.li@linux.alibaba.com>
Thu, 12 Oct 2023 12:37:29 +0000 (20:37 +0800)
committerJakub Kicinski <kuba@kernel.org>
Mon, 16 Oct 2023 23:37:40 +0000 (16:37 -0700)
In the smc_listen_work(), if smc_listen_prfx_check() failed,
the real reason: SMC_CLC_DECL_DIFFPREFIX was dropped, and
SMC_CLC_DECL_NOSMCDEV was returned.

Althrough this is also kind of SMC_CLC_DECL_NOSMCDEV, but return
the real reason is much friendly for debugging.

Fixes: e49300a6bf62 ("net/smc: add listen processing for SMC-Rv2")
Signed-off-by: Dust Li <dust.li@linux.alibaba.com>
Reviewed-by: Alexandra Winter <wintera@linux.ibm.com>
Reviewed-by: Wenjia Zhang <wenjia@linux.ibm.com>
Link: https://lore.kernel.org/r/20231012123729.29307-1-dust.li@linux.alibaba.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/smc/af_smc.c

index 7a874da90c7fc3d3731ebad828be7f399c278502..35ddebae88941b0c07d6ae1fa37511ada505c7a9 100644 (file)
@@ -2362,7 +2362,7 @@ static int smc_listen_find_device(struct smc_sock *new_smc,
                smc_find_ism_store_rc(rc, ini);
                return (!rc) ? 0 : ini->rc;
        }
-       return SMC_CLC_DECL_NOSMCDEV;
+       return prfx_rc;
 }
 
 /* listen worker: finish RDMA setup */