diff options
author | David S. Miller <davem@davemloft.net> | 2009-03-02 00:35:16 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-03-02 00:35:16 -0500 |
commit | aa4abc9bcce0d2a7ec189e897f8f8c58ca04643b (patch) | |
tree | 22ef88d84a2e06380bb6a853c3ba28657e4e5f92 /net/8021q | |
parent | 814c01dc7c533033b4e99981a2e24a6195bfb43c (diff) | |
parent | 52c0326beaa3cb0049d0f1c51c6ad5d4a04e4430 (diff) |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts:
drivers/net/wireless/iwlwifi/iwl-tx.c
net/8021q/vlan_core.c
net/core/dev.c
Diffstat (limited to 'net/8021q')
-rw-r--r-- | net/8021q/vlan_core.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/net/8021q/vlan_core.c b/net/8021q/vlan_core.c index 70435af153f2..2d6e405fc498 100644 --- a/net/8021q/vlan_core.c +++ b/net/8021q/vlan_core.c | |||
@@ -1,12 +1,16 @@ | |||
1 | #include <linux/skbuff.h> | 1 | #include <linux/skbuff.h> |
2 | #include <linux/netdevice.h> | 2 | #include <linux/netdevice.h> |
3 | #include <linux/if_vlan.h> | 3 | #include <linux/if_vlan.h> |
4 | #include <linux/netpoll.h> | ||
4 | #include "vlan.h" | 5 | #include "vlan.h" |
5 | 6 | ||
6 | /* VLAN rx hw acceleration helper. This acts like netif_{rx,receive_skb}(). */ | 7 | /* VLAN rx hw acceleration helper. This acts like netif_{rx,receive_skb}(). */ |
7 | int __vlan_hwaccel_rx(struct sk_buff *skb, struct vlan_group *grp, | 8 | int __vlan_hwaccel_rx(struct sk_buff *skb, struct vlan_group *grp, |
8 | u16 vlan_tci, int polling) | 9 | u16 vlan_tci, int polling) |
9 | { | 10 | { |
11 | if (netpoll_rx(skb)) | ||
12 | return NET_RX_DROP; | ||
13 | |||
10 | if (skb_bond_should_drop(skb)) | 14 | if (skb_bond_should_drop(skb)) |
11 | goto drop; | 15 | goto drop; |
12 | 16 | ||
@@ -102,6 +106,9 @@ int vlan_gro_receive(struct napi_struct *napi, struct vlan_group *grp, | |||
102 | { | 106 | { |
103 | skb_gro_reset_offset(skb); | 107 | skb_gro_reset_offset(skb); |
104 | 108 | ||
109 | if (netpoll_receive_skb(skb)) | ||
110 | return NET_RX_DROP; | ||
111 | |||
105 | 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); |
106 | } | 113 | } |
107 | EXPORT_SYMBOL(vlan_gro_receive); | 114 | EXPORT_SYMBOL(vlan_gro_receive); |
@@ -114,6 +121,9 @@ int vlan_gro_frags(struct napi_struct *napi, struct vlan_group *grp, | |||
114 | if (!skb) | 121 | if (!skb) |
115 | return NET_RX_DROP; | 122 | return NET_RX_DROP; |
116 | 123 | ||
124 | if (netpoll_receive_skb(skb)) | ||
125 | return NET_RX_DROP; | ||
126 | |||
117 | return napi_frags_finish(napi, skb, | 127 | return napi_frags_finish(napi, skb, |
118 | vlan_gro_common(napi, grp, vlan_tci, skb)); | 128 | vlan_gro_common(napi, grp, vlan_tci, skb)); |
119 | } | 129 | } |