aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/net/tcp.h5
-rw-r--r--net/ipv4/tcp_output.c4
2 files changed, 4 insertions, 5 deletions
diff --git a/include/net/tcp.h b/include/net/tcp.h
index f0c5e7a29400..7e583261f3a0 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -1236,14 +1236,9 @@ static inline struct sk_buff *tcp_send_head(struct sock *sk)
1236 1236
1237static inline void tcp_advance_send_head(struct sock *sk, struct sk_buff *skb) 1237static inline void tcp_advance_send_head(struct sock *sk, struct sk_buff *skb)
1238{ 1238{
1239 struct tcp_sock *tp = tcp_sk(sk);
1240
1241 sk->sk_send_head = skb->next; 1239 sk->sk_send_head = skb->next;
1242 if (sk->sk_send_head == (struct sk_buff *)&sk->sk_write_queue) 1240 if (sk->sk_send_head == (struct sk_buff *)&sk->sk_write_queue)
1243 sk->sk_send_head = NULL; 1241 sk->sk_send_head = NULL;
1244 /* Don't override Nagle indefinately with F-RTO */
1245 if (tp->frto_counter == 2)
1246 tp->frto_counter = 3;
1247} 1242}
1248 1243
1249static inline void tcp_check_send_head(struct sock *sk, struct sk_buff *skb_unlinked) 1244static inline void tcp_check_send_head(struct sock *sk, struct sk_buff *skb_unlinked)
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c
index 030fc69ea217..546f385a405f 100644
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
@@ -80,6 +80,10 @@ static void update_send_head(struct sock *sk, struct sk_buff *skb)
80 tcp_advance_send_head(sk, skb); 80 tcp_advance_send_head(sk, skb);
81 tp->snd_nxt = TCP_SKB_CB(skb)->end_seq; 81 tp->snd_nxt = TCP_SKB_CB(skb)->end_seq;
82 tcp_packets_out_inc(sk, skb); 82 tcp_packets_out_inc(sk, skb);
83
84 /* Don't override Nagle indefinately with F-RTO */
85 if (tp->frto_counter == 2)
86 tp->frto_counter = 3;
83} 87}
84 88
85/* SND.NXT, if window was not shrunk. 89/* SND.NXT, if window was not shrunk.