File tree Expand file tree Collapse file tree 2 files changed +4
-1
lines changed Expand file tree Collapse file tree 2 files changed +4
-1
lines changed Original file line number Diff line number Diff line change @@ -2691,6 +2691,9 @@ int tcp_disconnect(struct sock *sk, int flags)
2691
2691
tp -> window_clamp = 0 ;
2692
2692
tp -> delivered = 0 ;
2693
2693
tp -> delivered_ce = 0 ;
2694
+ if (icsk -> icsk_ca_ops -> release )
2695
+ icsk -> icsk_ca_ops -> release (sk );
2696
+ memset (icsk -> icsk_ca_priv , 0 , sizeof (icsk -> icsk_ca_priv ));
2694
2697
tcp_set_ca_state (sk , TCP_CA_Open );
2695
2698
tp -> is_sack_reneg = 0 ;
2696
2699
tcp_clear_retrans (tp );
Original file line number Diff line number Diff line change @@ -197,7 +197,7 @@ static void tcp_reinit_congestion_control(struct sock *sk,
197
197
icsk -> icsk_ca_setsockopt = 1 ;
198
198
memset (icsk -> icsk_ca_priv , 0 , sizeof (icsk -> icsk_ca_priv ));
199
199
200
- if (sk -> sk_state != TCP_CLOSE )
200
+ if (!(( 1 << sk -> sk_state ) & ( TCPF_CLOSE | TCPF_LISTEN )) )
201
201
tcp_init_congestion_control (sk );
202
202
}
203
203
You can’t perform that action at this time.
0 commit comments