From: Aji Srinivas Date: Thu, 8 Mar 2007 00:10:53 +0000 (-0800) Subject: [BRIDGE]: adding new device to bridge should enable if up X-Git-Tag: v2.6.21-rc4~99^2 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=de79059ecd7cd650f3788ece978a64586921d1f1;p=~emulex%2Finfiniband.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 Signed-off-by: David S. Miller --- diff --git a/net/bridge/br_if.c b/net/bridge/br_if.c index 6845a258408..f3a2e29be40 100644 --- a/net/bridge/br_if.c +++ b/net/bridge/br_if.c @@ -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));