Browse Source

bonding: use rtnl_deref in bond_change_rx_flags()

As it's always called with RTNL held, via dev_set_allmulti/promiscuity.
Also, remove the wrong comment.

CC: Jay Vosburgh <j.vosburgh@gmail.com>
CC: Andy Gospodarek <andy@greyhouse.net>
Signed-off-by: Veaceslav Falico <vfalico@gmail.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Veaceslav Falico 11 years ago
parent
commit
14056e7930
1 changed files with 2 additions and 4 deletions
  1. 2 4
      drivers/net/bonding/bond_main.c

+ 2 - 4
drivers/net/bonding/bond_main.c

@@ -496,9 +496,8 @@ static int bond_set_promiscuity(struct bonding *bond, int inc)
 	int err = 0;
 	int err = 0;
 
 
 	if (bond_uses_primary(bond)) {
 	if (bond_uses_primary(bond)) {
-		struct slave *curr_active = bond_deref_active_protected(bond);
+		struct slave *curr_active = rtnl_dereference(bond->curr_active_slave);
 
 
-		/* write lock already acquired */
 		if (curr_active)
 		if (curr_active)
 			err = dev_set_promiscuity(curr_active->dev, inc);
 			err = dev_set_promiscuity(curr_active->dev, inc);
 	} else {
 	} else {
@@ -522,9 +521,8 @@ static int bond_set_allmulti(struct bonding *bond, int inc)
 	int err = 0;
 	int err = 0;
 
 
 	if (bond_uses_primary(bond)) {
 	if (bond_uses_primary(bond)) {
-		struct slave *curr_active = bond_deref_active_protected(bond);
+		struct slave *curr_active = rtnl_dereference(bond->curr_active_slave);
 
 
-		/* write lock already acquired */
 		if (curr_active)
 		if (curr_active)
 			err = dev_set_allmulti(curr_active->dev, inc);
 			err = dev_set_allmulti(curr_active->dev, inc);
 	} else {
 	} else {