diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index 60f4060f4604..bfa547326d1e 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -2073,7 +2073,8 @@ static void mptcp_rcv_space_adjust(struct mptcp_sock *msk, int copied) slow = lock_sock_fast(ssk); WRITE_ONCE(ssk->sk_rcvbuf, rcvbuf); WRITE_ONCE(tcp_sk(ssk)->window_clamp, window_clamp); - tcp_cleanup_rbuf(ssk, 1); + if (tcp_can_send_ack(ssk)) + tcp_cleanup_rbuf(ssk, 1); unlock_sock_fast(ssk, slow); } }