diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2013-10-07 10:43:04 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2013-10-07 10:43:04 -0400 |
commit | a56e74f546b64be93731e42d83baf5b538cc1b11 (patch) | |
tree | 18f6dee45d801e57ac9db2a31664b0d5c0762c50 /net/bridge/br_stp_if.c | |
parent | d08e2e09042bd3f7ef66a35cb4bb92794ab26bb2 (diff) | |
parent | e4e7f10bfc4069925e99cc4b428c3434e30b6c3f (diff) |
Merge branch 'arm-aesbs' of git://git.linaro.org/people/ardbiesheuvel/linux-arm into devel-stable
Diffstat (limited to 'net/bridge/br_stp_if.c')
-rw-r--r-- | net/bridge/br_stp_if.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/net/bridge/br_stp_if.c b/net/bridge/br_stp_if.c index d45e760141bb..108084a04671 100644 --- a/net/bridge/br_stp_if.c +++ b/net/bridge/br_stp_if.c | |||
@@ -129,6 +129,14 @@ static void br_stp_start(struct net_bridge *br) | |||
129 | char *envp[] = { NULL }; | 129 | char *envp[] = { NULL }; |
130 | 130 | ||
131 | r = call_usermodehelper(BR_STP_PROG, argv, envp, UMH_WAIT_PROC); | 131 | r = call_usermodehelper(BR_STP_PROG, argv, envp, UMH_WAIT_PROC); |
132 | |||
133 | spin_lock_bh(&br->lock); | ||
134 | |||
135 | if (br->bridge_forward_delay < BR_MIN_FORWARD_DELAY) | ||
136 | __br_set_forward_delay(br, BR_MIN_FORWARD_DELAY); | ||
137 | else if (br->bridge_forward_delay < BR_MAX_FORWARD_DELAY) | ||
138 | __br_set_forward_delay(br, BR_MAX_FORWARD_DELAY); | ||
139 | |||
132 | if (r == 0) { | 140 | if (r == 0) { |
133 | br->stp_enabled = BR_USER_STP; | 141 | br->stp_enabled = BR_USER_STP; |
134 | br_debug(br, "userspace STP started\n"); | 142 | br_debug(br, "userspace STP started\n"); |
@@ -137,10 +145,10 @@ static void br_stp_start(struct net_bridge *br) | |||
137 | br_debug(br, "using kernel STP\n"); | 145 | br_debug(br, "using kernel STP\n"); |
138 | 146 | ||
139 | /* To start timers on any ports left in blocking */ | 147 | /* To start timers on any ports left in blocking */ |
140 | spin_lock_bh(&br->lock); | ||
141 | br_port_state_selection(br); | 148 | br_port_state_selection(br); |
142 | spin_unlock_bh(&br->lock); | ||
143 | } | 149 | } |
150 | |||
151 | spin_unlock_bh(&br->lock); | ||
144 | } | 152 | } |
145 | 153 | ||
146 | static void br_stp_stop(struct net_bridge *br) | 154 | static void br_stp_stop(struct net_bridge *br) |