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-Url: http://drtracing.org/?a=commitdiff_plain;h=0dfe178239453547d4297a4583ee7847948a481b;p=deliverable%2Flinux.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 c2442b46646e..a4306f7e4d09 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -3236,10 +3236,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; }