提交 e0974585 编写于 作者: N Nikolay Aleksandrov 提交者: David S. Miller

bonding: consolidate ASSERT_RTNL()s and remove the unnecessary

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: NNikolay Aleksandrov <nikolay@redhat.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 547942ca
...@@ -577,8 +577,6 @@ static void bond_hw_addr_flush(struct net_device *bond_dev, ...@@ -577,8 +577,6 @@ static void bond_hw_addr_flush(struct net_device *bond_dev,
static void bond_hw_addr_swap(struct bonding *bond, struct slave *new_active, static void bond_hw_addr_swap(struct bonding *bond, struct slave *new_active,
struct slave *old_active) struct slave *old_active)
{ {
ASSERT_RTNL();
if (old_active) { if (old_active) {
if (bond->dev->flags & IFF_PROMISC) if (bond->dev->flags & IFF_PROMISC)
dev_set_promiscuity(old_active->dev, -1); dev_set_promiscuity(old_active->dev, -1);
...@@ -876,6 +874,8 @@ void bond_select_active_slave(struct bonding *bond) ...@@ -876,6 +874,8 @@ void bond_select_active_slave(struct bonding *bond)
struct slave *best_slave; struct slave *best_slave;
int rv; int rv;
ASSERT_RTNL();
best_slave = bond_find_best_slave(bond); best_slave = bond_find_best_slave(bond);
if (best_slave != rtnl_dereference(bond->curr_active_slave)) { if (best_slave != rtnl_dereference(bond->curr_active_slave)) {
bond_change_active_slave(bond, best_slave); bond_change_active_slave(bond, best_slave);
...@@ -2004,7 +2004,6 @@ static void bond_miimon_commit(struct bonding *bond) ...@@ -2004,7 +2004,6 @@ static void bond_miimon_commit(struct bonding *bond)
} }
do_failover: do_failover:
ASSERT_RTNL();
block_netpoll_tx(); block_netpoll_tx();
bond_select_active_slave(bond); bond_select_active_slave(bond);
unblock_netpoll_tx(); unblock_netpoll_tx();
...@@ -2598,7 +2597,6 @@ static void bond_ab_arp_commit(struct bonding *bond) ...@@ -2598,7 +2597,6 @@ static void bond_ab_arp_commit(struct bonding *bond)
} }
do_failover: do_failover:
ASSERT_RTNL();
block_netpoll_tx(); block_netpoll_tx();
bond_select_active_slave(bond); bond_select_active_slave(bond);
unblock_netpoll_tx(); unblock_netpoll_tx();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册