diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index f483eab0081a..db14a7307a8f 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -1034,6 +1034,11 @@ static void mptcp_nospace(struct mptcp_sock *msk) if (sock) set_bit(SOCK_NOSPACE, &sock->flags); } + + /* mptcp_data_acked() could run just before we set the NOSPACE bit, + * so explicitly check for snd_una value + */ + mptcp_clean_una((struct sock *)msk); } static bool mptcp_subflow_active(struct mptcp_subflow_context *subflow)