diff options
Diffstat (limited to 'net/ipv4/tcp_input.c')
-rw-r--r-- | net/ipv4/tcp_input.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index f3f016a15c5a..2c0af90231cf 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c | |||
@@ -1295,9 +1295,9 @@ static bool tcp_shifted_skb(struct sock *sk, struct sk_buff *skb, | |||
1295 | TCP_SKB_CB(prev)->end_seq += shifted; | 1295 | TCP_SKB_CB(prev)->end_seq += shifted; |
1296 | TCP_SKB_CB(skb)->seq += shifted; | 1296 | TCP_SKB_CB(skb)->seq += shifted; |
1297 | 1297 | ||
1298 | skb_shinfo(prev)->gso_segs += pcount; | 1298 | tcp_skb_pcount_add(prev, pcount); |
1299 | BUG_ON(skb_shinfo(skb)->gso_segs < pcount); | 1299 | BUG_ON(tcp_skb_pcount(skb) < pcount); |
1300 | skb_shinfo(skb)->gso_segs -= pcount; | 1300 | tcp_skb_pcount_add(skb, -pcount); |
1301 | 1301 | ||
1302 | /* When we're adding to gso_segs == 1, gso_size will be zero, | 1302 | /* When we're adding to gso_segs == 1, gso_size will be zero, |
1303 | * in theory this shouldn't be necessary but as long as DSACK | 1303 | * in theory this shouldn't be necessary but as long as DSACK |
@@ -1310,7 +1310,7 @@ static bool tcp_shifted_skb(struct sock *sk, struct sk_buff *skb, | |||
1310 | } | 1310 | } |
1311 | 1311 | ||
1312 | /* CHECKME: To clear or not to clear? Mimics normal skb currently */ | 1312 | /* CHECKME: To clear or not to clear? Mimics normal skb currently */ |
1313 | if (skb_shinfo(skb)->gso_segs <= 1) { | 1313 | if (tcp_skb_pcount(skb) <= 1) { |
1314 | skb_shinfo(skb)->gso_size = 0; | 1314 | skb_shinfo(skb)->gso_size = 0; |
1315 | skb_shinfo(skb)->gso_type = 0; | 1315 | skb_shinfo(skb)->gso_type = 0; |
1316 | } | 1316 | } |