diff options
Diffstat (limited to 'net/bridge/br_if.c')
-rw-r--r-- | net/bridge/br_if.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/bridge/br_if.c b/net/bridge/br_if.c index 5dbdfdfc3a3..1bacca4cb67 100644 --- a/net/bridge/br_if.c +++ b/net/bridge/br_if.c | |||
@@ -147,6 +147,7 @@ static void del_nbp(struct net_bridge_port *p) | |||
147 | dev->priv_flags &= ~IFF_BRIDGE_PORT; | 147 | dev->priv_flags &= ~IFF_BRIDGE_PORT; |
148 | 148 | ||
149 | netdev_rx_handler_unregister(dev); | 149 | netdev_rx_handler_unregister(dev); |
150 | synchronize_net(); | ||
150 | 151 | ||
151 | netdev_set_master(dev, NULL); | 152 | netdev_set_master(dev, NULL); |
152 | 153 | ||
@@ -338,6 +339,8 @@ int br_add_if(struct net_bridge *br, struct net_device *dev) | |||
338 | if (IS_ERR(p)) | 339 | if (IS_ERR(p)) |
339 | return PTR_ERR(p); | 340 | return PTR_ERR(p); |
340 | 341 | ||
342 | call_netdevice_notifiers(NETDEV_JOIN, dev); | ||
343 | |||
341 | err = dev_set_promiscuity(dev, 1); | 344 | err = dev_set_promiscuity(dev, 1); |
342 | if (err) | 345 | if (err) |
343 | goto put_back; | 346 | goto put_back; |