diff options
Diffstat (limited to 'net/ipv4/tcp_output.c')
-rw-r--r-- | net/ipv4/tcp_output.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index bdaef7fd6e47..5288cec4a2b2 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c | |||
@@ -2605,7 +2605,8 @@ int __tcp_retransmit_skb(struct sock *sk, struct sk_buff *skb, int segs) | |||
2605 | * copying overhead: fragmentation, tunneling, mangling etc. | 2605 | * copying overhead: fragmentation, tunneling, mangling etc. |
2606 | */ | 2606 | */ |
2607 | if (atomic_read(&sk->sk_wmem_alloc) > | 2607 | if (atomic_read(&sk->sk_wmem_alloc) > |
2608 | min(sk->sk_wmem_queued + (sk->sk_wmem_queued >> 2), sk->sk_sndbuf)) | 2608 | min_t(u32, sk->sk_wmem_queued + (sk->sk_wmem_queued >> 2), |
2609 | sk->sk_sndbuf)) | ||
2609 | return -EAGAIN; | 2610 | return -EAGAIN; |
2610 | 2611 | ||
2611 | if (skb_still_in_host_queue(sk, skb)) | 2612 | if (skb_still_in_host_queue(sk, skb)) |
@@ -2830,7 +2831,7 @@ begin_fwd: | |||
2830 | if (tcp_retransmit_skb(sk, skb, segs)) | 2831 | if (tcp_retransmit_skb(sk, skb, segs)) |
2831 | return; | 2832 | return; |
2832 | 2833 | ||
2833 | NET_INC_STATS(sock_net(sk), mib_idx); | 2834 | NET_ADD_STATS(sock_net(sk), mib_idx, tcp_skb_pcount(skb)); |
2834 | 2835 | ||
2835 | if (tcp_in_cwnd_reduction(sk)) | 2836 | if (tcp_in_cwnd_reduction(sk)) |
2836 | tp->prr_out += tcp_skb_pcount(skb); | 2837 | tp->prr_out += tcp_skb_pcount(skb); |
@@ -3567,6 +3568,8 @@ int tcp_rtx_synack(const struct sock *sk, struct request_sock *req) | |||
3567 | if (!res) { | 3568 | if (!res) { |
3568 | __TCP_INC_STATS(sock_net(sk), TCP_MIB_RETRANSSEGS); | 3569 | __TCP_INC_STATS(sock_net(sk), TCP_MIB_RETRANSSEGS); |
3569 | __NET_INC_STATS(sock_net(sk), LINUX_MIB_TCPSYNRETRANS); | 3570 | __NET_INC_STATS(sock_net(sk), LINUX_MIB_TCPSYNRETRANS); |
3571 | if (unlikely(tcp_passive_fastopen(sk))) | ||
3572 | tcp_sk(sk)->total_retrans++; | ||
3570 | } | 3573 | } |
3571 | return res; | 3574 | return res; |
3572 | } | 3575 | } |