diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index 6c2577b93fd80..0fbcb8f4fd651 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -2627,7 +2627,7 @@ static void mptcp_worker(struct work_struct *work) lock_sock(sk); state = sk->sk_state; - if (unlikely(state == TCP_CLOSE)) + if (unlikely((1 << state) & (TCPF_CLOSE | TCPF_LISTEN))) goto unlock; mptcp_check_data_fin_ack(sk);