diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 891757e22f3e..094d3fd47a92 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -1104,7 +1104,8 @@ static inline bool subflow_simultaneous_connect(struct sock *sk) { struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(sk); - return (1 << sk->sk_state) & (TCPF_ESTABLISHED | TCPF_FIN_WAIT1) && + return (1 << sk->sk_state) & + (TCPF_ESTABLISHED | TCPF_FIN_WAIT1 | TCPF_FIN_WAIT2 | TCPF_CLOSING) && is_active_ssk(subflow) && !subflow->conn_finished; }