diff options
Diffstat (limited to 'net/ipv4/tcp_output.c')
-rw-r--r-- | net/ipv4/tcp_output.c | 15 |
1 files changed, 1 insertions, 14 deletions
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index e292e11c7319..ce1d7cfbecfc 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c | |||
@@ -894,24 +894,11 @@ void __tcp_push_pending_frames(struct sock *sk, struct tcp_sock *tp, | |||
894 | struct sk_buff *skb = sk->sk_send_head; | 894 | struct sk_buff *skb = sk->sk_send_head; |
895 | 895 | ||
896 | if (skb) { | 896 | if (skb) { |
897 | if (!tcp_skb_is_last(sk, skb)) | 897 | if (tcp_write_xmit(sk, cur_mss, nonagle)) |
898 | nonagle = TCP_NAGLE_PUSH; | ||
899 | if (!tcp_snd_test(sk, skb, cur_mss, nonagle) || | ||
900 | tcp_write_xmit(sk, cur_mss, nonagle)) | ||
901 | tcp_check_probe_timer(sk, tp); | 898 | tcp_check_probe_timer(sk, tp); |
902 | } | 899 | } |
903 | } | 900 | } |
904 | 901 | ||
905 | void __tcp_data_snd_check(struct sock *sk, struct sk_buff *skb) | ||
906 | { | ||
907 | struct tcp_sock *tp = tcp_sk(sk); | ||
908 | |||
909 | if (after(TCP_SKB_CB(skb)->end_seq, tp->snd_una + tp->snd_wnd) || | ||
910 | tcp_packets_in_flight(tp) >= tp->snd_cwnd || | ||
911 | tcp_write_xmit(sk, tcp_current_mss(sk, 1), tp->nonagle)) | ||
912 | tcp_check_probe_timer(sk, tp); | ||
913 | } | ||
914 | |||
915 | /* This function returns the amount that we can raise the | 902 | /* This function returns the amount that we can raise the |
916 | * usable window based on the following constraints | 903 | * usable window based on the following constraints |
917 | * | 904 | * |