aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorJay Vosburgh <fubar@us.ibm.com>2008-01-17 19:24:58 -0500
committerJeff Garzik <jeff@garzik.org>2008-01-18 14:38:38 -0500
commite0138a66e18c6755ee29ce13b3f1142af775dc5f (patch)
tree85a7443ff69676ed9bfe6f550e0f262172ab0750 /drivers/net
parente934dd7862e7f613b2ce9730d548a0a70913c8f7 (diff)
bonding: fix ASSERT_RTNL that produces spurious warnings
Move an ASSERT_RTNL down to where we should hold only RTNL; the existing check produces spurious warnings because we hold additional locks at _bh, tripping a debug warning in spin_lock_mutex(). Signed-off-by: Jay Vosburgh <fubar@us.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/bonding/bond_alb.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/net/bonding/bond_alb.c b/drivers/net/bonding/bond_alb.c
index 25b8dbf6cfd7..9b55a123c08f 100644
--- a/drivers/net/bonding/bond_alb.c
+++ b/drivers/net/bonding/bond_alb.c
@@ -1601,9 +1601,6 @@ void bond_alb_handle_active_change(struct bonding *bond, struct slave *new_slave
1601 struct slave *swap_slave; 1601 struct slave *swap_slave;
1602 int i; 1602 int i;
1603 1603
1604 if (new_slave)
1605 ASSERT_RTNL();
1606
1607 if (bond->curr_active_slave == new_slave) { 1604 if (bond->curr_active_slave == new_slave) {
1608 return; 1605 return;
1609 } 1606 }
@@ -1649,6 +1646,8 @@ void bond_alb_handle_active_change(struct bonding *bond, struct slave *new_slave
1649 write_unlock_bh(&bond->curr_slave_lock); 1646 write_unlock_bh(&bond->curr_slave_lock);
1650 read_unlock(&bond->lock); 1647 read_unlock(&bond->lock);
1651 1648
1649 ASSERT_RTNL();
1650
1652 /* curr_active_slave must be set before calling alb_swap_mac_addr */ 1651 /* curr_active_slave must be set before calling alb_swap_mac_addr */
1653 if (swap_slave) { 1652 if (swap_slave) {
1654 /* swap mac address */ 1653 /* swap mac address */