diff options
author | Stephen Hemminger <shemminger@linux-foundation.org> | 2007-02-27 09:55:07 -0800 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-02-28 09:42:12 -0800 |
commit | 6548cda289b549ed60c35f16a0051609aeee2fd0 (patch) | |
tree | 97b30b8ea7e9cd621195d3de57ca182dd5f04d60 /net | |
parent | aa6e4a96e7589948fe770744f7bb4f0f743dddaa (diff) | |
download | lwn-6548cda289b549ed60c35f16a0051609aeee2fd0.tar.gz lwn-6548cda289b549ed60c35f16a0051609aeee2fd0.zip |
[BRIDGE]: Fix locking of set path cost.
This change goes with earlier change to get rid of
work queue for path cost. Now stp_set_path_cost does its own
locking. This is to allow it to call br_path_cost() which calls
ethtool interfaces (might sleep).
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/bridge/br_ioctl.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/net/bridge/br_ioctl.c b/net/bridge/br_ioctl.c index 3ab153d3c508..147015fe5c75 100644 --- a/net/bridge/br_ioctl.c +++ b/net/bridge/br_ioctl.c @@ -291,12 +291,11 @@ static int old_dev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) if (!capable(CAP_NET_ADMIN)) return -EPERM; - spin_lock_bh(&br->lock); if ((p = br_get_port(br, args[1])) == NULL) ret = -EINVAL; else br_stp_set_path_cost(p, args[2]); - spin_unlock_bh(&br->lock); + return ret; } |