[BRIDGE]: port timer initialization
Initialize the STP timers for a port when it is created, rather than when it is enabled. This will prevent future race conditions where timer gets started before port is enabled. Signed-off-by: Stephen Hemminger <shemmigner@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
6e86b89084
commit
d32439c0d4
|
@ -277,8 +277,9 @@ static struct net_bridge_port *new_nbp(struct net_bridge *br,
|
||||||
br_init_port(p);
|
br_init_port(p);
|
||||||
p->state = BR_STATE_DISABLED;
|
p->state = BR_STATE_DISABLED;
|
||||||
INIT_WORK(&p->carrier_check, port_carrier_check, dev);
|
INIT_WORK(&p->carrier_check, port_carrier_check, dev);
|
||||||
kobject_init(&p->kobj);
|
br_stp_port_timer_init(p);
|
||||||
|
|
||||||
|
kobject_init(&p->kobj);
|
||||||
kobject_set_name(&p->kobj, SYSFS_BRIDGE_PORT_ATTR);
|
kobject_set_name(&p->kobj, SYSFS_BRIDGE_PORT_ATTR);
|
||||||
p->kobj.ktype = &brport_ktype;
|
p->kobj.ktype = &brport_ktype;
|
||||||
p->kobj.parent = &(dev->class_dev.kobj);
|
p->kobj.parent = &(dev->class_dev.kobj);
|
||||||
|
|
|
@ -39,8 +39,6 @@ void br_init_port(struct net_bridge_port *p)
|
||||||
p->state = BR_STATE_BLOCKING;
|
p->state = BR_STATE_BLOCKING;
|
||||||
p->topology_change_ack = 0;
|
p->topology_change_ack = 0;
|
||||||
p->config_pending = 0;
|
p->config_pending = 0;
|
||||||
|
|
||||||
br_stp_port_timer_init(p);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* called under bridge lock */
|
/* called under bridge lock */
|
||||||
|
|
Loading…
Reference in New Issue