|
@@ -3183,8 +3183,10 @@ static int tcp_clean_rtx_queue(struct sock *sk, int prior_fackets,
|
|
|
|
|
|
tp->fackets_out -= min(pkts_acked, tp->fackets_out);
|
|
|
|
|
|
- if (ca_ops->pkts_acked)
|
|
|
- ca_ops->pkts_acked(sk, pkts_acked, ca_seq_rtt_us);
|
|
|
+ if (ca_ops->pkts_acked) {
|
|
|
+ long rtt_us = min_t(ulong, ca_seq_rtt_us, sack_rtt_us);
|
|
|
+ ca_ops->pkts_acked(sk, pkts_acked, rtt_us);
|
|
|
+ }
|
|
|
|
|
|
} else if (skb && rtt_update && sack_rtt_us >= 0 &&
|
|
|
sack_rtt_us > skb_mstamp_us_delta(&now, &skb->skb_mstamp)) {
|