Loading net/ipv4/tcp_output.c +19 −19 Original line number Diff line number Diff line Loading @@ -2032,6 +2032,7 @@ void tcp_xmit_retransmit_queue(struct sock *sk) const struct inet_connection_sock *icsk = inet_csk(sk); struct tcp_sock *tp = tcp_sk(sk); struct sk_buff *skb; int mib_idx; if (tp->retransmit_skb_hint) skb = tp->retransmit_skb_hint; Loading Loading @@ -2059,10 +2060,11 @@ void tcp_xmit_retransmit_queue(struct sock *sk) return; if (!before(TCP_SKB_CB(skb)->seq, tp->retransmit_high)) break; if (sacked & (TCPCB_SACKED_ACKED|TCPCB_SACKED_RETRANS)) continue; if (sacked & TCPCB_LOST) { if (!(sacked & (TCPCB_SACKED_ACKED|TCPCB_SACKED_RETRANS))) { int mib_idx; if (!(sacked & TCPCB_LOST)) continue; if (tcp_retransmit_skb(sk, skb)) { tp->retransmit_skb_hint = NULL; Loading @@ -2080,8 +2082,6 @@ void tcp_xmit_retransmit_queue(struct sock *sk) TCP_RTO_MAX); } } } } /* OK, demanded retransmission is finished. */ if (!tcp_can_forward_retransmit(sk)) Loading Loading
net/ipv4/tcp_output.c +19 −19 Original line number Diff line number Diff line Loading @@ -2032,6 +2032,7 @@ void tcp_xmit_retransmit_queue(struct sock *sk) const struct inet_connection_sock *icsk = inet_csk(sk); struct tcp_sock *tp = tcp_sk(sk); struct sk_buff *skb; int mib_idx; if (tp->retransmit_skb_hint) skb = tp->retransmit_skb_hint; Loading Loading @@ -2059,10 +2060,11 @@ void tcp_xmit_retransmit_queue(struct sock *sk) return; if (!before(TCP_SKB_CB(skb)->seq, tp->retransmit_high)) break; if (sacked & (TCPCB_SACKED_ACKED|TCPCB_SACKED_RETRANS)) continue; if (sacked & TCPCB_LOST) { if (!(sacked & (TCPCB_SACKED_ACKED|TCPCB_SACKED_RETRANS))) { int mib_idx; if (!(sacked & TCPCB_LOST)) continue; if (tcp_retransmit_skb(sk, skb)) { tp->retransmit_skb_hint = NULL; Loading @@ -2080,8 +2082,6 @@ void tcp_xmit_retransmit_queue(struct sock *sk) TCP_RTO_MAX); } } } } /* OK, demanded retransmission is finished. */ if (!tcp_can_forward_retransmit(sk)) Loading