From: Jiri Pirko Date: Mon, 22 Aug 2011 19:43:22 +0000 (-0700) Subject: net: vlan: goto another_round instead of calling __netif_receive_skb X-Git-Tag: v2.6.39-400.9.0~547 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=98de51107201737ec6f18b74759f79f378791fa0;p=users%2Fjedix%2Flinux-maple.git net: vlan: goto another_round instead of calling __netif_receive_skb Now, when vlan tag on untagged in non-accelerated path is stripped from skb, headers are reset right away. Benefit from that and avoid calling __netif_receive_skb recursivelly and just use another_round. Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller --- diff --git a/net/core/dev.c b/net/core/dev.c index 17fdbf8d4782..82976bd43160 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -3177,10 +3177,9 @@ ncls: ret = deliver_skb(skb, pt_prev, orig_dev); pt_prev = NULL; } - if (vlan_do_receive(&skb)) { - ret = __netif_receive_skb(skb); - goto out; - } else if (unlikely(!skb)) + if (vlan_do_receive(&skb)) + goto another_round; + else if (unlikely(!skb)) goto out; }