aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv4')
-rw-r--r--net/ipv4/tcp_input.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
index a3d47af01906..1a8e89fdd331 100644
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -3050,10 +3050,15 @@ static int tcp_clean_rtx_queue(struct sock *sk, int prior_fackets,
3050 first_ackt.v64 = 0; 3050 first_ackt.v64 = 0;
3051 3051
3052 while ((skb = tcp_write_queue_head(sk)) && skb != tcp_send_head(sk)) { 3052 while ((skb = tcp_write_queue_head(sk)) && skb != tcp_send_head(sk)) {
3053 struct skb_shared_info *shinfo = skb_shinfo(skb);
3053 struct tcp_skb_cb *scb = TCP_SKB_CB(skb); 3054 struct tcp_skb_cb *scb = TCP_SKB_CB(skb);
3054 u8 sacked = scb->sacked; 3055 u8 sacked = scb->sacked;
3055 u32 acked_pcount; 3056 u32 acked_pcount;
3056 3057
3058 if (unlikely(shinfo->tx_flags & SKBTX_ACK_TSTAMP) &&
3059 between(shinfo->tskey, prior_snd_una, tp->snd_una - 1))
3060 __skb_tstamp_tx(skb, NULL, sk, SCM_TSTAMP_ACK);
3061
3057 /* Determine how many packets and what bytes were acked, tso and else */ 3062 /* Determine how many packets and what bytes were acked, tso and else */
3058 if (after(scb->end_seq, tp->snd_una)) { 3063 if (after(scb->end_seq, tp->snd_una)) {
3059 if (tcp_skb_pcount(skb) == 1 || 3064 if (tcp_skb_pcount(skb) == 1 ||
@@ -3107,11 +3112,6 @@ static int tcp_clean_rtx_queue(struct sock *sk, int prior_fackets,
3107 tp->retrans_stamp = 0; 3112 tp->retrans_stamp = 0;
3108 } 3113 }
3109 3114
3110 if (unlikely(skb_shinfo(skb)->tx_flags & SKBTX_ACK_TSTAMP) &&
3111 between(skb_shinfo(skb)->tskey, prior_snd_una,
3112 tp->snd_una + 1))
3113 __skb_tstamp_tx(skb, NULL, sk, SCM_TSTAMP_ACK);
3114
3115 if (!fully_acked) 3115 if (!fully_acked)
3116 break; 3116 break;
3117 3117