diff options
Diffstat (limited to 'net')
-rw-r--r-- | net/ipv4/tcp_input.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 871110842809..d313dea361a6 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c | |||
@@ -1246,8 +1246,7 @@ static int tcp_sacktag_one(struct sk_buff *skb, struct tcp_sock *tp, | |||
1246 | if (dup_sack && (sacked & TCPCB_RETRANS)) { | 1246 | if (dup_sack && (sacked & TCPCB_RETRANS)) { |
1247 | if (after(TCP_SKB_CB(skb)->end_seq, tp->undo_marker)) | 1247 | if (after(TCP_SKB_CB(skb)->end_seq, tp->undo_marker)) |
1248 | tp->undo_retrans--; | 1248 | tp->undo_retrans--; |
1249 | if (!after(TCP_SKB_CB(skb)->end_seq, tp->snd_una) && | 1249 | if (sacked & TCPCB_SACKED_ACKED) |
1250 | (sacked & TCPCB_SACKED_ACKED)) | ||
1251 | *reord = min(fack_count, *reord); | 1250 | *reord = min(fack_count, *reord); |
1252 | } | 1251 | } |
1253 | 1252 | ||
@@ -1310,10 +1309,6 @@ static int tcp_sacktag_one(struct sk_buff *skb, struct tcp_sock *tp, | |||
1310 | 1309 | ||
1311 | if (after(TCP_SKB_CB(skb)->seq, tcp_highest_sack_seq(tp))) | 1310 | if (after(TCP_SKB_CB(skb)->seq, tcp_highest_sack_seq(tp))) |
1312 | tp->highest_sack = skb; | 1311 | tp->highest_sack = skb; |
1313 | |||
1314 | } else { | ||
1315 | if (dup_sack && (sacked & TCPCB_RETRANS)) | ||
1316 | *reord = min(fack_count, *reord); | ||
1317 | } | 1312 | } |
1318 | 1313 | ||
1319 | /* D-SACK. We can detect redundant retransmission in S|R and plain R | 1314 | /* D-SACK. We can detect redundant retransmission in S|R and plain R |