summaryrefslogtreecommitdiffstats
path: root/net/core
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2011-02-04 14:28:58 -0800
committerDavid S. Miller <davem@davemloft.net>2011-02-04 14:28:58 -0800
commitbd4a6974cc9090ef3851e5b0a2071e5383565c7c (patch)
treee96ef46426d293b730a305b5185ba5412c9172d4 /net/core
parent2b7bcebf958c74124220ee8103024def8597b36c (diff)
parent1e6d93e45b231b3ae87c01902ede2315aacfe976 (diff)
downloadlinux-bd4a6974cc9090ef3851e5b0a2071e5383565c7c.tar.gz
linux-bd4a6974cc9090ef3851e5b0a2071e5383565c7c.tar.bz2
linux-bd4a6974cc9090ef3851e5b0a2071e5383565c7c.zip
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Diffstat (limited to 'net/core')
-rw-r--r--net/core/dev.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index 9109e2648d4d..f46ee357ff2e 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -2666,7 +2666,8 @@ static int get_rps_cpu(struct net_device *dev, struct sk_buff *skb,
map = rcu_dereference(rxqueue->rps_map);
if (map) {
- if (map->len == 1) {
+ if (map->len == 1 &&
+ !rcu_dereference_raw(rxqueue->rps_flow_table)) {
tcpu = map->cpus[0];
if (cpu_online(tcpu))
cpu = tcpu;
@@ -3565,6 +3566,7 @@ static void napi_reuse_skb(struct napi_struct *napi, struct sk_buff *skb)
skb_reserve(skb, NET_IP_ALIGN - skb_headroom(skb));
skb->vlan_tci = 0;
skb->dev = napi->dev;
+ skb->skb_iif = 0;
napi->skb = skb;
}