aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/8021q/vlan_core.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/net/8021q/vlan_core.c b/net/8021q/vlan_core.c
index 6227248597c4..654e45f5719d 100644
--- a/net/8021q/vlan_core.c
+++ b/net/8021q/vlan_core.c
@@ -79,9 +79,6 @@ static int vlan_gro_common(struct napi_struct *napi, struct vlan_group *grp,
79{ 79{
80 struct sk_buff *p; 80 struct sk_buff *p;
81 81
82 if (netpoll_rx_on(skb))
83 return GRO_NORMAL;
84
85 if (skb_bond_should_drop(skb)) 82 if (skb_bond_should_drop(skb))
86 goto drop; 83 goto drop;
87 84
@@ -107,6 +104,9 @@ drop:
107int vlan_gro_receive(struct napi_struct *napi, struct vlan_group *grp, 104int vlan_gro_receive(struct napi_struct *napi, struct vlan_group *grp,
108 unsigned int vlan_tci, struct sk_buff *skb) 105 unsigned int vlan_tci, struct sk_buff *skb)
109{ 106{
107 if (netpoll_rx_on(skb))
108 return vlan_hwaccel_receive_skb(skb, grp, vlan_tci);
109
110 skb_gro_reset_offset(skb); 110 skb_gro_reset_offset(skb);
111 111
112 return napi_skb_finish(vlan_gro_common(napi, grp, vlan_tci, skb), skb); 112 return napi_skb_finish(vlan_gro_common(napi, grp, vlan_tci, skb), skb);
@@ -121,6 +121,9 @@ int vlan_gro_frags(struct napi_struct *napi, struct vlan_group *grp,
121 if (!skb) 121 if (!skb)
122 return NET_RX_DROP; 122 return NET_RX_DROP;
123 123
124 if (netpoll_rx_on(skb))
125 return vlan_hwaccel_receive_skb(skb, grp, vlan_tci);
126
124 return napi_frags_finish(napi, skb, 127 return napi_frags_finish(napi, skb,
125 vlan_gro_common(napi, grp, vlan_tci, skb)); 128 vlan_gro_common(napi, grp, vlan_tci, skb));
126} 129}