From c19d292af95c4d99dc4d761515a44fb533271839 Mon Sep 17 00:00:00 2001 From: Neal Cardwell Date: Wed, 16 Nov 2011 08:58:02 +0000 Subject: [PATCH] --- yaml --- r: 277981 b: refs/heads/master c: 5628adf1a0ff39b9e76e1a8e1c94dadabfd46914 h: refs/heads/master i: 277979: ca66eeb40a7d7b0ccb4b1cfba00cdc329d14fe78 v: v3 --- [refs] | 2 +- trunk/net/ipv4/tcp_input.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index ac63156d9798..9083d15df039 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7d2b55f80d62b6b4b72d9ef4318a2a49df3e2830 +refs/heads/master: 5628adf1a0ff39b9e76e1a8e1c94dadabfd46914 diff --git a/trunk/net/ipv4/tcp_input.c b/trunk/net/ipv4/tcp_input.c index f772aaa4319e..b49e41864037 100644 --- a/trunk/net/ipv4/tcp_input.c +++ b/trunk/net/ipv4/tcp_input.c @@ -3788,6 +3788,10 @@ static int tcp_ack(struct sock *sk, const struct sk_buff *skb, int flag) return 1; no_queue: + /* If data was DSACKed, see if we can undo a cwnd reduction. */ + if (flag & FLAG_DSACKING_ACK) + tcp_fastretrans_alert(sk, pkts_acked, newly_acked_sacked, + is_dupack, flag); /* If this ack opens up a zero window, clear backoff. It was * being used to time the probes, and is probably far higher than * it needs to be for normal retransmission.