]> rtime.felk.cvut.cz Git - can-eth-gw-linux.git/blobdiff - net/ipv4/tcp_input.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
[can-eth-gw-linux.git] / net / ipv4 / tcp_input.c
index fc67831656e5d00a833c81409ff07bf48fd7e41b..a13692560e637b215f56c906e3302e5a19a0bc44 100644 (file)
@@ -5652,7 +5652,11 @@ static bool tcp_rcv_fastopen_synack(struct sock *sk, struct sk_buff *synack,
        tcp_fastopen_cache_set(sk, mss, cookie, syn_drop);
 
        if (data) { /* Retransmit unacked data in SYN */
-               tcp_retransmit_skb(sk, data);
+               tcp_for_write_queue_from(data, sk) {
+                       if (data == tcp_send_head(sk) ||
+                           __tcp_retransmit_skb(sk, data))
+                               break;
+               }
                tcp_rearm_rto(sk);
                return true;
        }