From 5e511a9d00f8172dfdb6d10c0f9fca59ff35096b Mon Sep 17 00:00:00 2001 From: Herbert Xu Date: Tue, 17 Mar 2009 13:10:52 -0700 Subject: [PATCH] --- yaml --- r: 135221 b: refs/heads/master c: 2ffb4558194037133121e260022baa0d21590473 h: refs/heads/master i: 135219: cfda5c63828c6da45620d1200ded1b980aaddc4d v: v3 --- [refs] | 2 +- trunk/net/8021q/vlan_core.c | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 885b0f6b14ce..803efde0eecf 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d1c76af9e2434fac3add561e26c61b06503de986 +refs/heads/master: 2ffb4558194037133121e260022baa0d21590473 diff --git a/trunk/net/8021q/vlan_core.c b/trunk/net/8021q/vlan_core.c index 6227248597c4..654e45f5719d 100644 --- a/trunk/net/8021q/vlan_core.c +++ b/trunk/net/8021q/vlan_core.c @@ -79,9 +79,6 @@ static int vlan_gro_common(struct napi_struct *napi, struct vlan_group *grp, { struct sk_buff *p; - if (netpoll_rx_on(skb)) - return GRO_NORMAL; - if (skb_bond_should_drop(skb)) goto drop; @@ -107,6 +104,9 @@ static int vlan_gro_common(struct napi_struct *napi, struct vlan_group *grp, int vlan_gro_receive(struct napi_struct *napi, struct vlan_group *grp, unsigned int vlan_tci, struct sk_buff *skb) { + if (netpoll_rx_on(skb)) + return vlan_hwaccel_receive_skb(skb, grp, vlan_tci); + skb_gro_reset_offset(skb); 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, if (!skb) return NET_RX_DROP; + if (netpoll_rx_on(skb)) + return vlan_hwaccel_receive_skb(skb, grp, vlan_tci); + return napi_frags_finish(napi, skb, vlan_gro_common(napi, grp, vlan_tci, skb)); }