summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIlpo Järvinen <ilpo.jarvinen@helsinki.fi>2007-02-22 07:54:52 +0100
committerDavid S. Miller <davem@sunset.davemloft.net>2007-04-26 07:23:00 +0200
commit522e7548a9bd40305df41c0beae69448b7620d6b (patch)
treea0972cff4f84295dd2004f868867e298bb3c3912
parentLinux 2.6.21 (diff)
downloadlinux-522e7548a9bd40305df41c0beae69448b7620d6b.tar.xz
linux-522e7548a9bd40305df41c0beae69448b7620d6b.zip
[TCP] FRTO: Incorrectly clears TCPCB_EVER_RETRANS bit
FRTO was slightly too brave... Should only clear TCPCB_SACKED_RETRANS bit. Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/ipv4/tcp_input.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
index 1a14191687ac..b21e232d5d33 100644
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -1266,7 +1266,7 @@ void tcp_enter_frto(struct sock *sk)
tp->undo_retrans = 0;
sk_stream_for_retrans_queue(skb, sk) {
- TCP_SKB_CB(skb)->sacked &= ~TCPCB_RETRANS;
+ TCP_SKB_CB(skb)->sacked &= ~TCPCB_SACKED_RETRANS;
}
tcp_sync_left_out(tp);