diff --git a/net/mptcp/subflow.c b/net/mptcp/subflow.c index f97f29df4505..371a114f3a5f 100644 --- a/net/mptcp/subflow.c +++ b/net/mptcp/subflow.c @@ -479,8 +479,7 @@ static void mptcp_sock_destruct(struct sock *sk) * ESTABLISHED state and will not have the SOCK_DEAD flag. * Both result in warnings from inet_sock_destruct. */ - - if (sk->sk_state == TCP_ESTABLISHED) { + if ((1 << sk->sk_state) & (TCPF_ESTABLISHED | TCPF_CLOSE_WAIT)) { sk->sk_state = TCP_CLOSE; WARN_ON_ONCE(sk->sk_socket); sock_orphan(sk);