static inline void tcp_warn_once(const struct sock *sk, bool cond, const char *str)
{
WARN_ONCE(cond,
- "%sout:%u sacked:%u lost:%u retrans:%u tlp_high_seq:%u sk_state:%u ca_state:%u advmss:%u mss_cache:%u pmtu:%u\n",
+ "%scwn:%u out:%u sacked:%u lost:%u retrans:%u tlp_high_seq:%u sk_state:%u ca_state:%u advmss:%u mss_cache:%u pmtu:%u\n",
str,
+ tcp_snd_cwnd(tcp_sk(sk)),
tcp_sk(sk)->packets_out, tcp_sk(sk)->sacked_out,
tcp_sk(sk)->lost_out, tcp_sk(sk)->retrans_out,
tcp_sk(sk)->tlp_high_seq, sk->sk_state,
}
skb = skb_rb_last(&sk->tcp_rtx_queue);
if (unlikely(!skb)) {
- WARN_ONCE(tp->packets_out,
- "invalid inflight: %u state %u cwnd %u mss %d\n",
- tp->packets_out, sk->sk_state, tcp_snd_cwnd(tp), mss);
+ tcp_warn_once(sk, tp->packets_out, "invalid inflight: ");
smp_store_release(&inet_csk(sk)->icsk_pending, 0);
return;
}