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>
This commit is contained in:
parent
f0bc52f38b
commit
9969ca5f20
|
@ -1481,7 +1481,7 @@ static struct sk_buff *tcp_shift_skb_data(struct sock *sk, struct sk_buff *skb,
|
||||||
|
|
||||||
/* Normally R but no L won't result in plain S */
|
/* Normally R but no L won't result in plain S */
|
||||||
if (!dup_sack &&
|
if (!dup_sack &&
|
||||||
(TCP_SKB_CB(skb)->sacked & TCPCB_TAGBITS) == TCPCB_SACKED_RETRANS)
|
(TCP_SKB_CB(skb)->sacked & (TCPCB_LOST|TCPCB_SACKED_RETRANS)) == TCPCB_SACKED_RETRANS)
|
||||||
goto fallback;
|
goto fallback;
|
||||||
if (!skb_can_shift(skb))
|
if (!skb_can_shift(skb))
|
||||||
goto fallback;
|
goto fallback;
|
||||||
|
|
Reference in New Issue