bonding: remove unwanted lock for bond_option_active_slave_set()
authordingtianhong <dingtianhong@huawei.com>
Fri, 13 Dec 2013 02:20:17 +0000 (10:20 +0800)
committerDavid S. Miller <davem@davemloft.net>
Sat, 14 Dec 2013 06:58:02 +0000 (01:58 -0500)
The bond_option_active_slave_set() is always called in RTNL,
the RTNL could protect bond slave list, so remove the unwanted
bond lock.

Suggested-by: Jay Vosburgh <fubar@us.ibm.com>
Suggested-by: Veaceslav Falico <vfalico@redhat.com>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bonding/bond_options.c

index dfef673d53d1089617aa1c25557987c7b9e2856c..600779e5904f6a9cd78ccaefde4c4ee8fdcc8fbb 100644 (file)
@@ -107,7 +107,6 @@ int bond_option_active_slave_set(struct bonding *bond,
        }
 
        block_netpoll_tx();
-       read_lock(&bond->lock);
        write_lock_bh(&bond->curr_slave_lock);
 
        /* check to see if we are clearing active */
@@ -142,7 +141,6 @@ int bond_option_active_slave_set(struct bonding *bond,
        }
 
        write_unlock_bh(&bond->curr_slave_lock);
-       read_unlock(&bond->lock);
        unblock_netpoll_tx();
        return ret;
 }