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 @@ -2299,6 +2299,9 @@ int tcp_disconnect(struct sock *sk, int flags)
2299
2299
tp -> snd_cwnd_cnt = 0 ;
2300
2300
tp -> window_clamp = 0 ;
2301
2301
tp -> delivered = 0 ;
2302
+ if (icsk -> icsk_ca_ops -> release )
2303
+ icsk -> icsk_ca_ops -> release (sk );
2304
+ memset (icsk -> icsk_ca_priv , 0 , sizeof (icsk -> icsk_ca_priv ));
2302
2305
tcp_set_ca_state (sk , TCP_CA_Open );
2303
2306
tp -> is_sack_reneg = 0 ;
2304
2307
tcp_clear_retrans (tp );
Original file line number Diff line number Diff line change @@ -198,7 +198,7 @@ static void tcp_reinit_congestion_control(struct sock *sk,
198
198
icsk -> icsk_ca_setsockopt = 1 ;
199
199
memset (icsk -> icsk_ca_priv , 0 , sizeof (icsk -> icsk_ca_priv ));
200
200
201
- if (sk -> sk_state != TCP_CLOSE )
201
+ if (!(( 1 << sk -> sk_state ) & ( TCPF_CLOSE | TCPF_LISTEN )) )
202
202
tcp_init_congestion_control (sk );
203
203
}
204
204
You can’t perform that action at this time.
0 commit comments