bridge: Allow forward delay to be cfgd when STP enabled
authorIan Wilson <iwilson@brocade.com>
Thu, 24 Sep 2015 18:20:11 +0000 (11:20 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 28 Sep 2015 02:09:38 +0000 (19:09 -0700)
Allow bridge forward delay to be configured when Spanning Tree is enabled.

Signed-off-by: Ian Wilson <iwilson@brocade.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/bridge/br_stp.c

index ed74ffaa851ff43d08c3edb4a158ab21af27e1a3..3a7392e6010e875c2e9ba1b6ba0d710679794718 100644 (file)
@@ -576,17 +576,12 @@ void __br_set_forward_delay(struct net_bridge *br, unsigned long t)
 int br_set_forward_delay(struct net_bridge *br, unsigned long val)
 {
        unsigned long t = clock_t_to_jiffies(val);
-       int err = -ERANGE;
 
-       spin_lock_bh(&br->lock);
-       if (br->stp_enabled != BR_NO_STP &&
-           (t < BR_MIN_FORWARD_DELAY || t > BR_MAX_FORWARD_DELAY))
-               goto unlock;
+       if (t < BR_MIN_FORWARD_DELAY || t > BR_MAX_FORWARD_DELAY)
+               return -ERANGE;
 
+       spin_lock_bh(&br->lock);
        __br_set_forward_delay(br, t);
-       err = 0;
-
-unlock:
        spin_unlock_bh(&br->lock);
-       return err;
+       return 0;
 }