mirror of https://gitee.com/openkylin/linux.git
[BRIDGE]: adding new device to bridge should enable if up
One change introduced by the workqueue removal patch is that adding an interface that is up to a bridge which is also up does not ever call br_stp_enable_port(), leaving the port in DISABLED state until we do ifconfig down and up or link events occur. The following patch to the br_add_if function fixes it. This is a regression introduced in 2.6.21. Submitted-by: Aji_Srinivas@emc.com Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
c7ababbdc6
commit
de79059ecd
|
@ -428,6 +428,10 @@ int br_add_if(struct net_bridge *br, struct net_device *dev)
|
|||
spin_lock_bh(&br->lock);
|
||||
br_stp_recalculate_bridge_id(br);
|
||||
br_features_recompute(br);
|
||||
|
||||
if ((dev->flags & IFF_UP) && netif_carrier_ok(dev) &&
|
||||
(br->dev->flags & IFF_UP))
|
||||
br_stp_enable_port(p);
|
||||
spin_unlock_bh(&br->lock);
|
||||
|
||||
dev_set_mtu(br->dev, br_min_mtu(br));
|
||||
|
|
Loading…
Reference in New Issue