diff options
Diffstat (limited to 'net/ipv4/tcp_input.c')
-rw-r--r-- | net/ipv4/tcp_input.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 045d930d01a9..8e5522c6833a 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c | |||
@@ -3181,6 +3181,15 @@ static int tcp_clean_rtx_queue(struct sock *sk, u32 prior_fack, | |||
3181 | 3181 | ||
3182 | if (tcp_is_reno(tp)) { | 3182 | if (tcp_is_reno(tp)) { |
3183 | tcp_remove_reno_sacks(sk, pkts_acked); | 3183 | tcp_remove_reno_sacks(sk, pkts_acked); |
3184 | |||
3185 | /* If any of the cumulatively ACKed segments was | ||
3186 | * retransmitted, non-SACK case cannot confirm that | ||
3187 | * progress was due to original transmission due to | ||
3188 | * lack of TCPCB_SACKED_ACKED bits even if some of | ||
3189 | * the packets may have been never retransmitted. | ||
3190 | */ | ||
3191 | if (flag & FLAG_RETRANS_DATA_ACKED) | ||
3192 | flag &= ~FLAG_ORIG_SACK_ACKED; | ||
3184 | } else { | 3193 | } else { |
3185 | int delta; | 3194 | int delta; |
3186 | 3195 | ||