aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/bonding/bond_main.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index 82b70ff1fd28..b47fa0421e01 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -1659,9 +1659,6 @@ static int __bond_release_one(struct net_device *bond_dev,
1659 return -EINVAL; 1659 return -EINVAL;
1660 } 1660 }
1661 1661
1662 /* release the slave from its bond */
1663 bond->slave_cnt--;
1664
1665 bond_sysfs_slave_del(slave); 1662 bond_sysfs_slave_del(slave);
1666 1663
1667 bond_upper_dev_unlink(bond_dev, slave_dev); 1664 bond_upper_dev_unlink(bond_dev, slave_dev);
@@ -1743,6 +1740,7 @@ static int __bond_release_one(struct net_device *bond_dev,
1743 1740
1744 unblock_netpoll_tx(); 1741 unblock_netpoll_tx();
1745 synchronize_rcu(); 1742 synchronize_rcu();
1743 bond->slave_cnt--;
1746 1744
1747 if (!bond_has_slaves(bond)) { 1745 if (!bond_has_slaves(bond)) {
1748 call_netdevice_notifiers(NETDEV_CHANGEADDR, bond->dev); 1746 call_netdevice_notifiers(NETDEV_CHANGEADDR, bond->dev);