Skip to content

Commit

Permalink
[BRIDGE]: remove unneeded bh disables
Browse files Browse the repository at this point in the history
The STP timers run off softirq (kernel timers), so there is no need to
disable bottom half in the spin locks.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Stephen Hemminger authored and David S. Miller committed Mar 21, 2006
1 parent 9ebddc1 commit e3efe08
Showing 1 changed file with 12 additions and 12 deletions.
24 changes: 12 additions & 12 deletions net/bridge/br_stp_timer.c
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,13 @@ static void br_hello_timer_expired(unsigned long arg)
struct net_bridge *br = (struct net_bridge *)arg;

pr_debug("%s: hello timer expired\n", br->dev->name);
spin_lock_bh(&br->lock);
spin_lock(&br->lock);
if (br->dev->flags & IFF_UP) {
br_config_bpdu_generation(br);

mod_timer(&br->hello_timer, jiffies + br->hello_time);
}
spin_unlock_bh(&br->lock);
spin_unlock(&br->lock);
}

static void br_message_age_timer_expired(unsigned long arg)
Expand All @@ -71,7 +71,7 @@ static void br_message_age_timer_expired(unsigned long arg)
* running when we are the root bridge. So.. this was_root
* check is redundant. I'm leaving it in for now, though.
*/
spin_lock_bh(&br->lock);
spin_lock(&br->lock);
if (p->state == BR_STATE_DISABLED)
goto unlock;
was_root = br_is_root_bridge(br);
Expand All @@ -82,7 +82,7 @@ static void br_message_age_timer_expired(unsigned long arg)
if (br_is_root_bridge(br) && !was_root)
br_become_root_bridge(br);
unlock:
spin_unlock_bh(&br->lock);
spin_unlock(&br->lock);
}

static void br_forward_delay_timer_expired(unsigned long arg)
Expand All @@ -92,7 +92,7 @@ static void br_forward_delay_timer_expired(unsigned long arg)

pr_debug("%s: %d(%s) forward delay timer\n",
br->dev->name, p->port_no, p->dev->name);
spin_lock_bh(&br->lock);
spin_lock(&br->lock);
if (p->state == BR_STATE_LISTENING) {
p->state = BR_STATE_LEARNING;
mod_timer(&p->forward_delay_timer,
Expand All @@ -103,32 +103,32 @@ static void br_forward_delay_timer_expired(unsigned long arg)
br_topology_change_detection(br);
}
br_log_state(p);
spin_unlock_bh(&br->lock);
spin_unlock(&br->lock);
}

static void br_tcn_timer_expired(unsigned long arg)
{
struct net_bridge *br = (struct net_bridge *) arg;

pr_debug("%s: tcn timer expired\n", br->dev->name);
spin_lock_bh(&br->lock);
spin_lock(&br->lock);
if (br->dev->flags & IFF_UP) {
br_transmit_tcn(br);

mod_timer(&br->tcn_timer,jiffies + br->bridge_hello_time);
}
spin_unlock_bh(&br->lock);
spin_unlock(&br->lock);
}

static void br_topology_change_timer_expired(unsigned long arg)
{
struct net_bridge *br = (struct net_bridge *) arg;

pr_debug("%s: topo change timer expired\n", br->dev->name);
spin_lock_bh(&br->lock);
spin_lock(&br->lock);
br->topology_change_detected = 0;
br->topology_change = 0;
spin_unlock_bh(&br->lock);
spin_unlock(&br->lock);
}

static void br_hold_timer_expired(unsigned long arg)
Expand All @@ -138,10 +138,10 @@ static void br_hold_timer_expired(unsigned long arg)
pr_debug("%s: %d(%s) hold timer expired\n",
p->br->dev->name, p->port_no, p->dev->name);

spin_lock_bh(&p->br->lock);
spin_lock(&p->br->lock);
if (p->config_pending)
br_transmit_config(p);
spin_unlock_bh(&p->br->lock);
spin_unlock(&p->br->lock);
}

static inline void br_timer_init(struct timer_list *timer,
Expand Down

0 comments on commit e3efe08

Please sign in to comment.