diff options
author | Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de> | 2015-10-24 02:08:33 +0200 |
---|---|---|
committer | Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de> | 2015-10-24 02:08:33 +0200 |
commit | f0b9ad5690ed96f95d91ca19fba2fb2894bae6f0 (patch) | |
tree | d1b649e6f97ac0f1fc9864a296021c71cf69cd21 /net/bridge/br_notify.c | |
parent | 272e77de798362c31e6452a46a0e7d5b6aaeb550 (diff) | |
download | kernel_samsung_smdk4412-f0b9ad5690ed96f95d91ca19fba2fb2894bae6f0.zip kernel_samsung_smdk4412-f0b9ad5690ed96f95d91ca19fba2fb2894bae6f0.tar.gz kernel_samsung_smdk4412-f0b9ad5690ed96f95d91ca19fba2fb2894bae6f0.tar.bz2 |
update network codemigrate_3.2
Diffstat (limited to 'net/bridge/br_notify.c')
-rw-r--r-- | net/bridge/br_notify.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/net/bridge/br_notify.c b/net/bridge/br_notify.c index 6545ee9..a76b621 100644 --- a/net/bridge/br_notify.c +++ b/net/bridge/br_notify.c @@ -34,6 +34,7 @@ static int br_device_event(struct notifier_block *unused, unsigned long event, v struct net_device *dev = ptr; struct net_bridge_port *p; struct net_bridge *br; + bool changed_addr; int err; /* register of bridge completed, add sysfs entries */ @@ -57,8 +58,12 @@ static int br_device_event(struct notifier_block *unused, unsigned long event, v case NETDEV_CHANGEADDR: spin_lock_bh(&br->lock); br_fdb_changeaddr(p, dev->dev_addr); - br_stp_recalculate_bridge_id(br); + changed_addr = br_stp_recalculate_bridge_id(br); spin_unlock_bh(&br->lock); + + if (changed_addr) + call_netdevice_notifiers(NETDEV_CHANGEADDR, br->dev); + break; case NETDEV_CHANGE: |