aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/tcp.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/tcp.h')
-rw-r--r--include/net/tcp.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/include/net/tcp.h b/include/net/tcp.h
index a385797f160a..ef8f9d4dae85 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -736,9 +736,7 @@ static inline __u32 tcp_current_ssthresh(const struct sock *sk)
736 736
737static inline void tcp_sync_left_out(struct tcp_sock *tp) 737static inline void tcp_sync_left_out(struct tcp_sock *tp)
738{ 738{
739 if (tp->rx_opt.sack_ok && 739 BUG_ON(tp->sacked_out + tp->lost_out > tp->packets_out);
740 (tp->sacked_out >= tp->packets_out - tp->lost_out))
741 tp->sacked_out = tp->packets_out - tp->lost_out;
742 tp->left_out = tp->sacked_out + tp->lost_out; 740 tp->left_out = tp->sacked_out + tp->lost_out;
743} 741}
744 742
@@ -1201,9 +1199,14 @@ static inline struct sk_buff *tcp_send_head(struct sock *sk)
1201 1199
1202static inline void tcp_advance_send_head(struct sock *sk, struct sk_buff *skb) 1200static inline void tcp_advance_send_head(struct sock *sk, struct sk_buff *skb)
1203{ 1201{
1202 struct tcp_sock *tp = tcp_sk(sk);
1203
1204 sk->sk_send_head = skb->next; 1204 sk->sk_send_head = skb->next;
1205 if (sk->sk_send_head == (struct sk_buff *)&sk->sk_write_queue) 1205 if (sk->sk_send_head == (struct sk_buff *)&sk->sk_write_queue)
1206 sk->sk_send_head = NULL; 1206 sk->sk_send_head = NULL;
1207 /* Don't override Nagle indefinately with F-RTO */
1208 if (tp->frto_counter == 2)
1209 tp->frto_counter = 3;
1207} 1210}
1208 1211
1209static inline void tcp_check_send_head(struct sock *sk, struct sk_buff *skb_unlinked) 1212static inline void tcp_check_send_head(struct sock *sk, struct sk_buff *skb_unlinked)