]> err.no Git - linux-2.6/commitdiff
[TCP]: Restore over-zealous tcp_sync_left_out-like removals
authorIlpo Järvinen <ilpo.jarvinen@helsinki.fi>
Thu, 9 Aug 2007 11:45:17 +0000 (14:45 +0300)
committerDavid S. Miller <davem@sunset.davemloft.net>
Wed, 10 Oct 2007 23:47:57 +0000 (16:47 -0700)
tcp_verify_left_out is useful for verifying S+L condition, so
add it back to couple of places in where the code was not
calling to tcp_sync_left_out but used own ad-hoc solution
(before the tcp_sync_left_out got removed).

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_input.c

index b11bd162422725777e9116e9288e25f15fadb538..93823b83522b1294cb9ea88a469dd395a5c337c1 100644 (file)
@@ -1346,6 +1346,8 @@ tcp_sacktag_write_queue(struct sock *sk, struct sk_buff *ack_skb, u32 prior_snd_
                }
        }
 
+       tcp_verify_left_out(tp);
+
        if ((reord < tp->fackets_out) && icsk->icsk_ca_state != TCP_CA_Loss &&
            (!tp->frto_highmark || after(tp->snd_una, tp->frto_highmark)))
                tcp_update_reordering(sk, ((tp->fackets_out + 1) - reord), 0);
@@ -2121,6 +2123,8 @@ static void tcp_try_to_open(struct sock *sk, int flag)
 {
        struct tcp_sock *tp = tcp_sk(sk);
 
+       tcp_verify_left_out(tp);
+
        if (tp->retrans_out == 0)
                tp->retrans_stamp = 0;