Re: [PATCH net] bna: fix vlan tag stripping and implement its toggling
From: Jiri Pirko <jiri@resnulli.us>
Date: 2014-02-28 09:24:59
From: Jiri Pirko <jiri@resnulli.us>
Date: 2014-02-28 09:24:59
+int bnad_set_features(struct net_device *dev, netdev_features_t features)
+{
+ struct bnad *bnad = netdev_priv(dev);
+ netdev_features_t changed = features ^ dev->features;
+
+ if ((changed & NETIF_F_HW_VLAN_CTAG_RX) && netif_running(dev)) {^^^^^^^^^^^^^^^^^^ why?
+ unsigned long flags; + + spin_lock_irqsave(&bnad->bna_lock, flags); + + if (features & NETIF_F_HW_VLAN_CTAG_RX) + bna_rx_vlan_strip_enable(bnad->rx_info[0].rx); + else + bna_rx_vlan_strip_disable(bnad->rx_info[0].rx); + + spin_unlock_irqrestore(&bnad->bna_lock, flags); + } + + return 0; +}