aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv4')
-rw-r--r--net/ipv4/tcp_output.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c
index 2471cd4f66db..fa3c81aa4e6a 100644
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
@@ -1356,6 +1356,10 @@ static int tcp_tso_should_defer(struct sock *sk, struct sk_buff *skb)
1356 if (limit >= sk->sk_gso_max_size) 1356 if (limit >= sk->sk_gso_max_size)
1357 goto send_now; 1357 goto send_now;
1358 1358
1359 /* Middle in queue won't get any more data, full sendable already? */
1360 if ((skb != tcp_write_queue_tail(sk)) && (limit >= skb->len))
1361 goto send_now;
1362
1359 if (sysctl_tcp_tso_win_divisor) { 1363 if (sysctl_tcp_tso_win_divisor) {
1360 u32 chunk = min(tp->snd_wnd, tp->snd_cwnd * tp->mss_cache); 1364 u32 chunk = min(tp->snd_wnd, tp->snd_cwnd * tp->mss_cache);
1361 1365