diff options
| -rw-r--r-- | net/bridge/br_if.c | 1 | ||||
| -rw-r--r-- | net/core/dev.c | 4 |
2 files changed, 2 insertions, 3 deletions
diff --git a/net/bridge/br_if.c b/net/bridge/br_if.c index d5147ddd70bf..1bacca4cb676 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 d94537914a71..bcb05cb799c1 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 | } |
| 4303 | EXPORT_SYMBOL(netdev_set_master); | 4301 | EXPORT_SYMBOL(netdev_set_master); |
