--- a/net/rds/tcp.c 2022-08-21 18:24:08.905058500 +0800 +++ b/net/rds/tcp.c 2022-08-21 18:42:26.529831400 +0800 @@ -166,10 +166,10 @@ void rds_tcp_reset_callbacks(struct sock */ atomic_set(&cp->cp_state, RDS_CONN_RESETTING); wait_event(cp->cp_waitq, !test_bit(RDS_IN_XMIT, &cp->cp_flags)); - lock_sock(osock->sk); /* reset receive side state for rds_tcp_data_recv() for osock */ cancel_delayed_work_sync(&cp->cp_send_w); cancel_delayed_work_sync(&cp->cp_recv_w); + lock_sock(osock->sk); if (tc->t_tinc) { rds_inc_put(&tc->t_tinc->ti_inc); tc->t_tinc = NULL;