aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4
diff options
context:
space:
mode:
authorIlpo Järvinen <ilpo.jarvinen@helsinki.fi>2008-12-06 01:41:06 -0500
committerDavid S. Miller <davem@davemloft.net>2008-12-06 01:41:06 -0500
commit9969ca5f205988fb96461075cb4914c55cf166b5 (patch)
tree8f7c0b3102044f09f9eb85d945ce818eec19e309 /net/ipv4
parentf0bc52f38b09308fca85f3aa9300a341364fe9c6 (diff)
tcp: Fix thinko making the not-shiftable to cover S|R as well
S|R won't result in S if just SACK is received. DSACK is another story (but it is covered correctly already). Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4')
-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 63c3ef6d4a1c..33902f6799c3 100644
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -1481,7 +1481,7 @@ static struct sk_buff *tcp_shift_skb_data(struct sock *sk, struct sk_buff *skb,
1481 1481
1482 /* Normally R but no L won't result in plain S */ 1482 /* Normally R but no L won't result in plain S */
1483 if (!dup_sack && 1483 if (!dup_sack &&
1484 (TCP_SKB_CB(skb)->sacked & TCPCB_TAGBITS) == TCPCB_SACKED_RETRANS) 1484 (TCP_SKB_CB(skb)->sacked & (TCPCB_LOST|TCPCB_SACKED_RETRANS)) == TCPCB_SACKED_RETRANS)
1485 goto fallback; 1485 goto fallback;
1486 if (!skb_can_shift(skb)) 1486 if (!skb_can_shift(skb))
1487 goto fallback; 1487 goto fallback;