diff --git a/net/smc/smc_core.c b/net/smc/smc_core.c index 29525d03b253f856a205e24f4160f853daa98494..f8c9675f4af3b5e61a39d0a429514c3b21ec7212 100644 --- a/net/smc/smc_core.c +++ b/net/smc/smc_core.c @@ -1161,8 +1161,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)