diff options
Diffstat (limited to 'net/ipv4/tcp.c')
-rw-r--r-- | net/ipv4/tcp.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index 79c325a07ba5..f98a1882e537 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c | |||
@@ -1798,13 +1798,11 @@ static int tcp_zerocopy_receive(struct sock *sk, | |||
1798 | } | 1798 | } |
1799 | if (skb_frag_size(frags) != PAGE_SIZE || skb_frag_off(frags)) { | 1799 | if (skb_frag_size(frags) != PAGE_SIZE || skb_frag_off(frags)) { |
1800 | int remaining = zc->recv_skip_hint; | 1800 | int remaining = zc->recv_skip_hint; |
1801 | int size = skb_frag_size(frags); | ||
1802 | 1801 | ||
1803 | while (remaining && (size != PAGE_SIZE || | 1802 | while (remaining && (skb_frag_size(frags) != PAGE_SIZE || |
1804 | skb_frag_off(frags))) { | 1803 | skb_frag_off(frags))) { |
1805 | remaining -= size; | 1804 | remaining -= skb_frag_size(frags); |
1806 | frags++; | 1805 | frags++; |
1807 | size = skb_frag_size(frags); | ||
1808 | } | 1806 | } |
1809 | zc->recv_skip_hint -= remaining; | 1807 | zc->recv_skip_hint -= remaining; |
1810 | break; | 1808 | break; |