diff options
Diffstat (limited to 'net/core/dev.c')
| -rw-r--r-- | net/core/dev.c | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 9109e2648d4..f46ee357ff2 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;  }  |