|
@@ -788,7 +788,6 @@ static int macvlan_change_mtu(struct net_device *dev, int new_mtu)
|
|
|
* "super class" of normal network devices; split their locks off into a
|
|
|
* separate class since they always nest.
|
|
|
*/
|
|
|
-static struct lock_class_key macvlan_netdev_xmit_lock_key;
|
|
|
static struct lock_class_key macvlan_netdev_addr_lock_key;
|
|
|
|
|
|
#define ALWAYS_ON_FEATURES \
|
|
@@ -809,20 +808,12 @@ static int macvlan_get_nest_level(struct net_device *dev)
|
|
|
return ((struct macvlan_dev *)netdev_priv(dev))->nest_level;
|
|
|
}
|
|
|
|
|
|
-static void macvlan_set_lockdep_class_one(struct net_device *dev,
|
|
|
- struct netdev_queue *txq,
|
|
|
- void *_unused)
|
|
|
-{
|
|
|
- lockdep_set_class(&txq->_xmit_lock,
|
|
|
- &macvlan_netdev_xmit_lock_key);
|
|
|
-}
|
|
|
-
|
|
|
static void macvlan_set_lockdep_class(struct net_device *dev)
|
|
|
{
|
|
|
+ netdev_lockdep_set_classes(dev);
|
|
|
lockdep_set_class_and_subclass(&dev->addr_list_lock,
|
|
|
&macvlan_netdev_addr_lock_key,
|
|
|
macvlan_get_nest_level(dev));
|
|
|
- netdev_for_each_tx_queue(dev, macvlan_set_lockdep_class_one, NULL);
|
|
|
}
|
|
|
|
|
|
static int macvlan_init(struct net_device *dev)
|