aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/bridge/br_if.c1
-rw-r--r--net/core/dev.c4
2 files changed, 2 insertions, 3 deletions
diff --git a/net/bridge/br_if.c b/net/bridge/br_if.c
index d5147ddd70b..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
diff --git a/net/core/dev.c b/net/core/dev.c
index d94537914a7..bcb05cb799c 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -4294,10 +4294,8 @@ int netdev_set_master(struct net_device *slave, struct net_device *master)
4294 4294
4295 slave->master = master; 4295 slave->master = master;
4296 4296
4297 if (old) { 4297 if (old)
4298 synchronize_net();
4299 dev_put(old); 4298 dev_put(old);
4300 }
4301 return 0; 4299 return 0;
4302} 4300}
4303EXPORT_SYMBOL(netdev_set_master); 4301EXPORT_SYMBOL(netdev_set_master);