]> git.baikalelectronics.ru Git - kernel.git/commitdiff
bonding: alb: clean bond->lock
authorNikolay Aleksandrov <nikolay@redhat.com>
Tue, 9 Sep 2014 21:16:59 +0000 (23:16 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 10 Sep 2014 00:31:35 +0000 (17:31 -0700)
We can remove the lock/unlock as it's no longer necessary since
RTNL should be held while calling bond_alb_set_mac_address().

Signed-off-by: Nikolay Aleksandrov <nikolay@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bonding/bond_alb.c

index 73c21e233131f6f8af6a48e540659dd71f649f48..028496205f39ec98c1b6346886f2dc4c50ef1f89 100644 (file)
@@ -1775,8 +1775,7 @@ void bond_alb_handle_link_change(struct bonding *bond, struct slave *slave, char
  * Set the bond->curr_active_slave to @new_slave and handle
  * mac address swapping and promiscuity changes as needed.
  *
- * If new_slave is NULL, caller must hold curr_slave_lock or
- * bond->lock for write.
+ * If new_slave is NULL, caller must hold curr_slave_lock for write
  *
  * If new_slave is not NULL, caller must hold RTNL, curr_slave_lock
  * for write.  Processing here may sleep, so no other locks may be held.
@@ -1857,12 +1856,8 @@ void bond_alb_handle_active_change(struct bonding *bond, struct slave *new_slave
        write_lock_bh(&bond->curr_slave_lock);
 }
 
-/*
- * Called with RTNL
- */
+/* Called with RTNL */
 int bond_alb_set_mac_address(struct net_device *bond_dev, void *addr)
-       __acquires(&bond->lock)
-       __releases(&bond->lock)
 {
        struct bonding *bond = netdev_priv(bond_dev);
        struct sockaddr *sa = addr;
@@ -1895,14 +1890,12 @@ int bond_alb_set_mac_address(struct net_device *bond_dev, void *addr)
        } else {
                alb_set_slave_mac_addr(curr_active, bond_dev->dev_addr);
 
-               read_lock(&bond->lock);
                alb_send_learning_packets(curr_active,
                                          bond_dev->dev_addr, false);
                if (bond->alb_info.rlb_enabled) {
                        /* inform clients mac address has changed */
                        rlb_req_update_slave_clients(bond, curr_active);
                }
-               read_unlock(&bond->lock);
        }
 
        return 0;