aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/ipv4/tcp.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index 45156be3abf..a09fe253b91 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -1009,7 +1009,12 @@ new_segment:
1009 int merge = 0; 1009 int merge = 0;
1010 int i = skb_shinfo(skb)->nr_frags; 1010 int i = skb_shinfo(skb)->nr_frags;
1011 struct page *page = TCP_PAGE(sk); 1011 struct page *page = TCP_PAGE(sk);
1012 int off = TCP_OFF(sk); 1012 int off;
1013
1014 if (page && page_count(page) == 1)
1015 TCP_OFF(sk) = 0;
1016
1017 off = TCP_OFF(sk);
1013 1018
1014 if (skb_can_coalesce(skb, i, page, off) && 1019 if (skb_can_coalesce(skb, i, page, off) &&
1015 off != PAGE_SIZE) { 1020 off != PAGE_SIZE) {