diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index f68b972231ca..1adb5790a082 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -2615,7 +2615,8 @@ static void __mptcp_close_subflow(struct sock *sk) if (ssk_state != TCP_CLOSE && (ssk_state != TCP_CLOSE_WAIT || - inet_sk_state_load(sk) != TCP_ESTABLISHED)) + inet_sk_state_load(sk) != TCP_ESTABLISHED || + __mptcp_check_fallback(msk))) continue; /* 'subflow_data_ready' will re-sched once rx queue is empty */