diff options
author | Michał Mirosław <mirq-linux@rere.qmqm.pl> | 2011-05-07 01:48:02 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-05-09 12:05:59 -0700 |
commit | 0693e88e6ccf615d9674548d8b924cdd9a1c976c (patch) | |
tree | c77546505f150e1e6c8a9a8390e7dc01a292d13d /drivers/net/bonding/bond_3ad.c | |
parent | 48752e1b1802231ef2a076f34d861918b7d571c3 (diff) | |
download | linux-0693e88e6ccf615d9674548d8b924cdd9a1c976c.tar.bz2 |
net: bonding: factor out rlock(bond->lock) in xmit path
Pull read_lock(&bond->lock) and BOND_IS_OK() to bond_start_xmit() from
mode-dependent xmit functions.
netif_running() is always true in hard_start_xmit.
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bonding/bond_3ad.c')
-rw-r--r-- | drivers/net/bonding/bond_3ad.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/drivers/net/bonding/bond_3ad.c b/drivers/net/bonding/bond_3ad.c index d4160f87e910..c7537abca4f2 100644 --- a/drivers/net/bonding/bond_3ad.c +++ b/drivers/net/bonding/bond_3ad.c @@ -2403,14 +2403,6 @@ int bond_3ad_xmit_xor(struct sk_buff *skb, struct net_device *dev) struct ad_info ad_info; int res = 1; - /* make sure that the slaves list will - * not change during tx - */ - read_lock(&bond->lock); - - if (!BOND_IS_OK(bond)) - goto out; - if (bond_3ad_get_active_agg_info(bond, &ad_info)) { pr_debug("%s: Error: bond_3ad_get_active_agg_info failed\n", dev->name); @@ -2464,7 +2456,7 @@ out: /* no suitable interface, frame not sent */ dev_kfree_skb(skb); } - read_unlock(&bond->lock); + return NETDEV_TX_OK; } |