diff options
author | Mark Brown <broonie@kernel.org> | 2018-07-23 16:49:59 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2018-07-23 16:49:59 +0100 |
commit | a9c613d774e602d7c008acb374cb2185b5be2ee4 (patch) | |
tree | e4c81d684d9cb0518179aac4df64ed5eb497755f /net/ipv4/tcp_input.c | |
parent | 5b49d48e6165b258428c871a8fc6a09cf75fdb0a (diff) | |
parent | 1c6a1d5ae62dbaec8922761f56332e6e830b32a4 (diff) |
Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-androidlsk-v4.4-18.09-androidlsk-v4.4-18.07-android
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 667a2573317f..8677461230f6 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -3219,6 +3219,15 @@ static int tcp_clean_rtx_queue(struct sock *sk, int prior_fackets, if (tcp_is_reno(tp)) { tcp_remove_reno_sacks(sk, pkts_acked); + + /* If any of the cumulatively ACKed segments was + * retransmitted, non-SACK case cannot confirm that + * progress was due to original transmission due to + * lack of TCPCB_SACKED_ACKED bits even if some of + * the packets may have been never retransmitted. + */ + if (flag & FLAG_RETRANS_DATA_ACKED) + flag &= ~FLAG_ORIG_SACK_ACKED; } else { int delta; |