diff options
Diffstat (limited to 'drivers/net/macvlan.c')
| -rw-r--r-- | drivers/net/macvlan.c | 11 | 
1 files changed, 3 insertions, 8 deletions
diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c index adde8fc45588..cfda146f3b3b 100644 --- a/drivers/net/macvlan.c +++ b/drivers/net/macvlan.c @@ -514,7 +514,6 @@ static int macvlan_queue_xmit(struct sk_buff *skb, struct net_device *dev)  	const struct macvlan_dev *vlan = netdev_priv(dev);  	const struct macvlan_port *port = vlan->port;  	const struct macvlan_dev *dest; -	void *accel_priv = NULL;  	if (vlan->mode == MACVLAN_MODE_BRIDGE) {  		const struct ethhdr *eth = (void *)skb->data; @@ -533,15 +532,10 @@ static int macvlan_queue_xmit(struct sk_buff *skb, struct net_device *dev)  			return NET_XMIT_SUCCESS;  		}  	} - -	/* For packets that are non-multicast and not bridged we will pass -	 * the necessary information so that the lowerdev can distinguish -	 * the source of the packets via the accel_priv value. -	 */ -	accel_priv = vlan->accel_priv;  xmit_world:  	skb->dev = vlan->lowerdev; -	return dev_queue_xmit_accel(skb, accel_priv); +	return dev_queue_xmit_accel(skb, +				    netdev_get_sb_channel(dev) ? dev : NULL);  }  static inline netdev_tx_t macvlan_netpoll_send_skb(struct macvlan_dev *vlan, struct sk_buff *skb) @@ -1647,6 +1641,7 @@ static int macvlan_device_event(struct notifier_block *unused,  	switch (event) {  	case NETDEV_UP: +	case NETDEV_DOWN:  	case NETDEV_CHANGE:  		list_for_each_entry(vlan, &port->vlans, list)  			netif_stacked_transfer_operstate(vlan->lowerdev,  |