diff options
Diffstat (limited to 'net/ipv4/tcp_output.c')
-rw-r--r-- | net/ipv4/tcp_output.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index 0d8f950a9006..7ee98aad82b7 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c | |||
@@ -162,6 +162,13 @@ static void tcp_event_data_sent(struct tcp_sock *tp, | |||
162 | /* Account for an ACK we sent. */ | 162 | /* Account for an ACK we sent. */ |
163 | static inline void tcp_event_ack_sent(struct sock *sk, unsigned int pkts) | 163 | static inline void tcp_event_ack_sent(struct sock *sk, unsigned int pkts) |
164 | { | 164 | { |
165 | struct tcp_sock *tp = tcp_sk(sk); | ||
166 | |||
167 | if (unlikely(tp->compressed_ack)) { | ||
168 | tp->compressed_ack = 0; | ||
169 | if (hrtimer_try_to_cancel(&tp->compressed_ack_timer) == 1) | ||
170 | __sock_put(sk); | ||
171 | } | ||
165 | tcp_dec_quickack_mode(sk, pkts); | 172 | tcp_dec_quickack_mode(sk, pkts); |
166 | inet_csk_clear_xmit_timer(sk, ICSK_TIME_DACK); | 173 | inet_csk_clear_xmit_timer(sk, ICSK_TIME_DACK); |
167 | } | 174 | } |