diff options
| author | Paul Mundt <lethal@linux-sh.org> | 2012-01-09 11:12:55 +0900 |
|---|---|---|
| committer | Paul Mundt <lethal@linux-sh.org> | 2012-01-09 11:12:55 +0900 |
| commit | ca371d2854d48c0c22e7aa031df182f96dc85820 (patch) | |
| tree | 1c62be8b4da0bfc82fa7ffa1ad5b0e958266cbd1 /net/bridge/br_stp.c | |
| parent | 0d376945d0bc0a8f8e00861d506b10e42e8af372 (diff) | |
| parent | a0e86bd4252519321b0d102dc4ed90557aa7bee9 (diff) | |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux into sh-latest
Conflicts:
arch/arm/mach-shmobile/clock-sh73a0.c
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'net/bridge/br_stp.c')
| -rw-r--r-- | net/bridge/br_stp.c | 29 |
1 files changed, 14 insertions, 15 deletions
diff --git a/net/bridge/br_stp.c b/net/bridge/br_stp.c index ad0a3f7cf6cc..dd147d78a588 100644 --- a/net/bridge/br_stp.c +++ b/net/bridge/br_stp.c @@ -399,25 +399,24 @@ void br_port_state_selection(struct net_bridge *br) struct net_bridge_port *p; unsigned int liveports = 0; - /* Don't change port states if userspace is handling STP */ - if (br->stp_enabled == BR_USER_STP) - return; - list_for_each_entry(p, &br->port_list, list) { if (p->state == BR_STATE_DISABLED) continue; - if (p->port_no == br->root_port) { - p->config_pending = 0; - p->topology_change_ack = 0; - br_make_forwarding(p); - } else if (br_is_designated_port(p)) { - del_timer(&p->message_age_timer); - br_make_forwarding(p); - } else { - p->config_pending = 0; - p->topology_change_ack = 0; - br_make_blocking(p); + /* Don't change port states if userspace is handling STP */ + if (br->stp_enabled != BR_USER_STP) { + if (p->port_no == br->root_port) { + p->config_pending = 0; + p->topology_change_ack = 0; + br_make_forwarding(p); + } else if (br_is_designated_port(p)) { + del_timer(&p->message_age_timer); + br_make_forwarding(p); + } else { + p->config_pending = 0; + p->topology_change_ack = 0; + br_make_blocking(p); + } } if (p->state == BR_STATE_FORWARDING) |
