]> err.no Git - linux-2.6/commitdiff
[TCP]: Unite identical code from two seqno split blocks
authorIlpo Järvinen <ilpo.jarvinen@helsinki.fi>
Sat, 1 Dec 2007 22:47:58 +0000 (00:47 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 28 Jan 2008 22:55:41 +0000 (14:55 -0800)
Bogus seqno compares just mislead, the code is identical for
both sides of the seqno compare (and was even executed just
once because of return in between).

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_input.c

index 871110842809d0c61dcc30eb1084b4763c8b927a..d313dea361a677f24846b8d217ccbd9a36580b55 100644 (file)
@@ -1246,8 +1246,7 @@ static int tcp_sacktag_one(struct sk_buff *skb, struct tcp_sock *tp,
        if (dup_sack && (sacked & TCPCB_RETRANS)) {
                if (after(TCP_SKB_CB(skb)->end_seq, tp->undo_marker))
                        tp->undo_retrans--;
-               if (!after(TCP_SKB_CB(skb)->end_seq, tp->snd_una) &&
-                   (sacked & TCPCB_SACKED_ACKED))
+               if (sacked & TCPCB_SACKED_ACKED)
                        *reord = min(fack_count, *reord);
        }
 
@@ -1310,10 +1309,6 @@ static int tcp_sacktag_one(struct sk_buff *skb, struct tcp_sock *tp,
 
                if (after(TCP_SKB_CB(skb)->seq, tcp_highest_sack_seq(tp)))
                        tp->highest_sack = skb;
-
-       } else {
-               if (dup_sack && (sacked & TCPCB_RETRANS))
-                       *reord = min(fack_count, *reord);
        }
 
        /* D-SACK. We can detect redundant retransmission in S|R and plain R