diff options
Diffstat (limited to 'net/ipv4/tcp_input.c')
| -rw-r--r-- | net/ipv4/tcp_input.c | 3 | 
1 files changed, 2 insertions, 1 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 70b892db9901..dad3e7eeed94 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -4502,7 +4502,7 @@ coalesce_done:  				NET_INC_STATS(sock_net(sk),  					      LINUX_MIB_TCPOFOMERGE);  				__kfree_skb(skb1); -				goto add_sack; +				goto merge_right;  			}  		} else if (tcp_try_coalesce(sk, skb1, skb, &fragstolen)) {  			goto coalesce_done; @@ -4514,6 +4514,7 @@ insert:  	rb_link_node(&skb->rbnode, parent, p);  	rb_insert_color(&skb->rbnode, &tp->out_of_order_queue); +merge_right:  	/* Remove other segments covered by skb. */  	while ((q = rb_next(&skb->rbnode)) != NULL) {  		skb1 = rb_entry(q, struct sk_buff, rbnode);  |