diff --git a/net/smc/smc_core.c b/net/smc/smc_core.c index 4eb9ef9c28003e718ef5572da6af23137fb2a50d..18c4eefc88e6c0ab5f4aae49e7cf6110d307ce7c 100644 --- a/net/smc/smc_core.c +++ b/net/smc/smc_core.c @@ -662,8 +662,8 @@ void smc_conn_free(struct smc_connection *conn) cancel_work_sync(&conn->abort_work); } if (!list_empty(&lgr->list)) { - smc_lgr_unregister_conn(conn); smc_buf_unuse(conn, lgr); /* allow buffer reuse */ + smc_lgr_unregister_conn(conn); } if (!lgr->conns_num)