[BRIDGE]: recompute features after adding a new device

We must recompute bridge features everytime the list of underlying 
devices changes, or we might end up with features that are not
supported by all devices.
This adds the missing recompute when adding a device to the bridge.

Sign-off-by: Olaf Rempel <[EMAIL PROTECTED]>

--- a/net/bridge/br_if.c
+++ b/net/bridge/br_if.c
@@ -366,6 +366,7 @@ int br_add_if(struct net_bridge *br, str

                spin_lock_bh(&br->lock);
                br_stp_recalculate_bridge_id(br);
+               br_features_recompute(br0);
                if ((br->dev->flags & IFF_UP)
                    && (dev->flags & IFF_UP) && netif_carrier_ok(dev))
                        br_stp_enable_port(p);
diff --git a/net/bridge/br_if.c b/net/bridge/br_if.c
index defcf6a..690f04f 100644
--- a/net/bridge/br_if.c
+++ b/net/bridge/br_if.c
@@ -366,6 +366,7 @@ int br_add_if(struct net_bridge *br, str
 
 		spin_lock_bh(&br->lock);
 		br_stp_recalculate_bridge_id(br);
+		br_features_recompute(br0);
 		if ((br->dev->flags & IFF_UP) 
 		    && (dev->flags & IFF_UP) && netif_carrier_ok(dev))
 			br_stp_enable_port(p);

Reply via email to