summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaulius Zaleckas <paulius.zaleckas@gmail.com>2012-03-06 22:25:22 +0000
committerDavid S. Miller <davem@davemloft.net>2012-03-08 00:25:25 -0800
commit5200959b833ddacf28b6ffce8c331dfd6e0ca797 (patch)
treea2a85508fb35f524e800b8451ddad8f3682948b1
parentd9e179ecec0805c41b17f9a0c3b925d415677772 (diff)
downloadlinux-3.10-5200959b833ddacf28b6ffce8c331dfd6e0ca797.tar.gz
linux-3.10-5200959b833ddacf28b6ffce8c331dfd6e0ca797.tar.bz2
linux-3.10-5200959b833ddacf28b6ffce8c331dfd6e0ca797.zip
bridge: fix state reporting when port is disabled
Now we have: eth0: link *down* br0: port 1(eth0) entered *forwarding* state br_log_state(p) should be called *after* p->state is set to BR_STATE_DISABLED. Reported-by: Zilvinas Valinskas <zilvinas@wilibox.com> Signed-off-by: Paulius Zaleckas <paulius.zaleckas@gmail.com> Acked-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/bridge/br_stp_if.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/net/bridge/br_stp_if.c b/net/bridge/br_stp_if.c
index 19308e305d8..f494496373d 100644
--- a/net/bridge/br_stp_if.c
+++ b/net/bridge/br_stp_if.c
@@ -98,14 +98,13 @@ void br_stp_disable_port(struct net_bridge_port *p)
struct net_bridge *br = p->br;
int wasroot;
- br_log_state(p);
-
wasroot = br_is_root_bridge(br);
br_become_designated_port(p);
p->state = BR_STATE_DISABLED;
p->topology_change_ack = 0;
p->config_pending = 0;
+ br_log_state(p);
br_ifinfo_notify(RTM_NEWLINK, p);
del_timer(&p->message_age_timer);