diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index 68f65ddf9e3c4ecc984e20e600db53d049dae857..97e8aea4ac7151050484d4343f4fcd4a88aabc38 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c @@ -2338,8 +2338,11 @@ static bool tcp_write_xmit(struct sock *sk, unsigned int mss_now, int nonagle, } else { if (!push_one && tcp_tso_should_defer(sk, skb, &is_cwnd_limited, - max_segs)) + max_segs)) { + if (!is_cwnd_limited) + is_rwnd_limited = true; break; + } } limit = mss_now;