X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=net%2Fbridge%2Fbr_if.c;h=092d45163644925006545ff796ae0ae0d1f2fee7;hb=5020cac828f9f6c98a685598599a1dc798712005;hp=43d03734e48b2b116d980e8dec6cc31708d4e85b;hpb=a91482bdcc2e0f6035702e46f1b99043a0893346;p=linux-2.6.git diff --git a/net/bridge/br_if.c b/net/bridge/br_if.c index 43d03734e..092d45163 100644 --- a/net/bridge/br_if.c +++ b/net/bridge/br_if.c @@ -149,7 +149,7 @@ static struct net_device *new_bridge_dev(const char *name) br->lock = SPIN_LOCK_UNLOCKED; INIT_LIST_HEAD(&br->port_list); - br->hash_lock = SPIN_LOCK_UNLOCKED; + br->hash_lock = RW_LOCK_UNLOCKED; br->bridge_id.prio[0] = 0x80; br->bridge_id.prio[1] = 0x00; @@ -295,7 +295,6 @@ int br_del_bridge(const char *name) return ret; } -/* Mtu of the bridge pseudo-device 1500 or the minimum of the ports */ int br_min_mtu(const struct net_bridge *br) { const struct net_bridge_port *p; @@ -344,12 +343,11 @@ int br_add_if(struct net_bridge *br, struct net_device *dev) spin_lock_bh(&br->lock); br_stp_recalculate_bridge_id(br); - if ((br->dev->flags & IFF_UP) - && (dev->flags & IFF_UP) && netif_carrier_ok(dev)) + if ((br->dev->flags & IFF_UP) && (dev->flags & IFF_UP)) br_stp_enable_port(p); spin_unlock_bh(&br->lock); - dev_set_mtu(br->dev, br_min_mtu(br)); + br->dev->mtu = br_min_mtu(br); } return err;