Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
The only slightly tricky merge conflict was the netdevsim because the mutex locking fix overlapped a lot of driver reload reorganization. The rest were (relatively) trivial in nature. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -1615,7 +1615,6 @@ static int team_init(struct net_device *dev)
|
||||
int err;
|
||||
|
||||
team->dev = dev;
|
||||
mutex_init(&team->lock);
|
||||
team_set_no_mode(team);
|
||||
|
||||
team->pcpu_stats = netdev_alloc_pcpu_stats(struct team_pcpu_stats);
|
||||
@@ -1642,7 +1641,8 @@ static int team_init(struct net_device *dev)
|
||||
goto err_options_register;
|
||||
netif_carrier_off(dev);
|
||||
|
||||
netdev_lockdep_set_classes(dev);
|
||||
lockdep_register_key(&team->team_lock_key);
|
||||
__mutex_init(&team->lock, "team->team_lock_key", &team->team_lock_key);
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -1673,6 +1673,7 @@ static void team_uninit(struct net_device *dev)
|
||||
team_queue_override_fini(team);
|
||||
mutex_unlock(&team->lock);
|
||||
netdev_change_features(dev);
|
||||
lockdep_unregister_key(&team->team_lock_key);
|
||||
}
|
||||
|
||||
static void team_destructor(struct net_device *dev)
|
||||
@@ -1976,8 +1977,15 @@ static int team_del_slave(struct net_device *dev, struct net_device *port_dev)
|
||||
err = team_port_del(team, port_dev);
|
||||
mutex_unlock(&team->lock);
|
||||
|
||||
if (!err)
|
||||
netdev_change_features(dev);
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
if (netif_is_team_master(port_dev)) {
|
||||
lockdep_unregister_key(&team->team_lock_key);
|
||||
lockdep_register_key(&team->team_lock_key);
|
||||
lockdep_set_class(&team->lock, &team->team_lock_key);
|
||||
}
|
||||
netdev_change_features(dev);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user