OSDN Git Service

tcp: fix tcp_rtx_queue_tail in case of empty retransmit queue
[android-x86/kernel.git] / include / net / tcp.h
index a474213..23814d9 100644 (file)
@@ -1609,6 +1609,10 @@ static inline struct sk_buff *tcp_rtx_queue_tail(const struct sock *sk)
 {
        struct sk_buff *skb = tcp_send_head(sk);
 
+       /* empty retransmit queue, for example due to zero window */
+       if (skb == tcp_write_queue_head(sk))
+               return NULL;
+
        return skb ? tcp_write_queue_prev(sk, skb) : tcp_write_queue_tail(sk);
 }