diff options
Diffstat (limited to 'net/ipv4/tcp_input.c')
-rw-r--r-- | net/ipv4/tcp_input.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 64e45b279431..53289911362a 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c | |||
@@ -5004,6 +5004,9 @@ static int tcp_prune_queue(struct sock *sk) | |||
5004 | else if (tcp_under_memory_pressure(sk)) | 5004 | else if (tcp_under_memory_pressure(sk)) |
5005 | tp->rcv_ssthresh = min(tp->rcv_ssthresh, 4U * tp->advmss); | 5005 | tp->rcv_ssthresh = min(tp->rcv_ssthresh, 4U * tp->advmss); |
5006 | 5006 | ||
5007 | if (atomic_read(&sk->sk_rmem_alloc) <= sk->sk_rcvbuf) | ||
5008 | return 0; | ||
5009 | |||
5007 | tcp_collapse_ofo_queue(sk); | 5010 | tcp_collapse_ofo_queue(sk); |
5008 | if (!skb_queue_empty(&sk->sk_receive_queue)) | 5011 | if (!skb_queue_empty(&sk->sk_receive_queue)) |
5009 | tcp_collapse(sk, &sk->sk_receive_queue, NULL, | 5012 | tcp_collapse(sk, &sk->sk_receive_queue, NULL, |