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>
        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);
        }
 
 
                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