diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index 98835afb8d8a717ed21e0e58c487b1999a296d30..c2aa4688dae63534e86d42ee8a7291ba1615e768 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c @@ -1342,7 +1342,6 @@ static int tcp_mtu_probe(struct sock *sk) sk_charge_skb(sk, nskb); skb = tcp_send_head(sk); - tcp_insert_write_queue_before(nskb, skb, sk); TCP_SKB_CB(nskb)->seq = TCP_SKB_CB(skb)->seq; TCP_SKB_CB(nskb)->end_seq = TCP_SKB_CB(skb)->seq + probe_size; @@ -1351,6 +1350,8 @@ static int tcp_mtu_probe(struct sock *sk) nskb->csum = 0; nskb->ip_summed = skb->ip_summed; + tcp_insert_write_queue_before(nskb, skb, sk); + len = 0; while (len < probe_size) { next = tcp_write_queue_next(sk, skb);