aboutsummaryrefslogtreecommitdiffstats
path: root/net/bridge/br_stp_if.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/bridge/br_stp_if.c')
-rw-r--r--net/bridge/br_stp_if.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/net/bridge/br_stp_if.c b/net/bridge/br_stp_if.c
index cc047f7fb6ef..23dea1422c9a 100644
--- a/net/bridge/br_stp_if.c
+++ b/net/bridge/br_stp_if.c
@@ -39,8 +39,6 @@ void br_init_port(struct net_bridge_port *p)
39 p->state = BR_STATE_BLOCKING; 39 p->state = BR_STATE_BLOCKING;
40 p->topology_change_ack = 0; 40 p->topology_change_ack = 0;
41 p->config_pending = 0; 41 p->config_pending = 0;
42
43 br_stp_port_timer_init(p);
44} 42}
45 43
46/* called under bridge lock */ 44/* called under bridge lock */
@@ -67,7 +65,7 @@ void br_stp_disable_bridge(struct net_bridge *br)
67{ 65{
68 struct net_bridge_port *p; 66 struct net_bridge_port *p;
69 67
70 spin_lock(&br->lock); 68 spin_lock_bh(&br->lock);
71 list_for_each_entry(p, &br->port_list, list) { 69 list_for_each_entry(p, &br->port_list, list) {
72 if (p->state != BR_STATE_DISABLED) 70 if (p->state != BR_STATE_DISABLED)
73 br_stp_disable_port(p); 71 br_stp_disable_port(p);
@@ -76,7 +74,7 @@ void br_stp_disable_bridge(struct net_bridge *br)
76 74
77 br->topology_change = 0; 75 br->topology_change = 0;
78 br->topology_change_detected = 0; 76 br->topology_change_detected = 0;
79 spin_unlock(&br->lock); 77 spin_unlock_bh(&br->lock);
80 78
81 del_timer_sync(&br->hello_timer); 79 del_timer_sync(&br->hello_timer);
82 del_timer_sync(&br->topology_change_timer); 80 del_timer_sync(&br->topology_change_timer);