On 06/01/2022 07:44, Wen Gu wrote: > @@ -630,10 +630,11 @@ static int smc_connect_decline_fallback(struct smc_sock *smc, int reason_code, > > static void smc_conn_abort(struct smc_sock *smc, int local_first) > { > + struct smc_connection *conn = &smc->conn; > + > + smc_conn_free(conn); > if (local_first) > - smc_lgr_cleanup_early(&smc->conn); > - else > - smc_conn_free(&smc->conn); > + smc_lgr_cleanup_early(conn->lgr); > } Looks like I missed a prereq patch here, but wo'nt conn->lgr be set to NULL after smc_conn_free() called smc_lgr_unregister_conn()?