diff --git a/net/smc/af_smc.c b/net/smc/af_smc.c index 99a815bc42f80e004fe621996209abcf17cfa56d..c6601cc921f48255d9c79369dd9a3c29ac6588b0 100644 --- a/net/smc/af_smc.c +++ b/net/smc/af_smc.c @@ -2554,8 +2554,9 @@ static void smc_listen_work(struct work_struct *work) goto out_decl; } - smc_listen_out_connected(new_smc); SMC_STAT_SERV_SUCC_INC(sock_net(newclcsock->sk), ini); + /* smc_listen_out() will release smcsk */ + smc_listen_out_connected(new_smc); goto out_free; out_unlock: