Consolidate the calls to ASSERT_RTNL() before bond_select_active_slave()
inside bond_select_active_slave() itself and remove the ASSERT_RTNL()
from bond_hw_addr_swap() as it's not exported and its only caller -
bond_change_active_slave() already has an ASSERT_RTNL().
Signed-off-by: Nikolay Aleksandrov <nikolay@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
 static void bond_hw_addr_swap(struct bonding *bond, struct slave *new_active,
                              struct slave *old_active)
 {
-       ASSERT_RTNL();
-
        if (old_active) {
                if (bond->dev->flags & IFF_PROMISC)
                        dev_set_promiscuity(old_active->dev, -1);
        struct slave *best_slave;
        int rv;
 
+       ASSERT_RTNL();
+
        best_slave = bond_find_best_slave(bond);
        if (best_slave != rtnl_dereference(bond->curr_active_slave)) {
                bond_change_active_slave(bond, best_slave);
                }
 
 do_failover:
-               ASSERT_RTNL();
                block_netpoll_tx();
                bond_select_active_slave(bond);
                unblock_netpoll_tx();
                }
 
 do_failover:
-               ASSERT_RTNL();
                block_netpoll_tx();
                bond_select_active_slave(bond);
                unblock_netpoll_tx();