|
@@ -1584,7 +1584,6 @@ const char *netdev_cmd_to_name(enum netdev_cmd cmd)
|
|
|
N(RESEND_IGMP) N(PRECHANGEMTU) N(CHANGEINFODATA) N(BONDING_INFO)
|
|
|
N(PRECHANGEUPPER) N(CHANGELOWERSTATE) N(UDP_TUNNEL_PUSH_INFO)
|
|
|
N(UDP_TUNNEL_DROP_INFO) N(CHANGE_TX_QUEUE_LEN)
|
|
|
- N(UNREGISTER_FINAL)
|
|
|
};
|
|
|
#undef N
|
|
|
return "UNKNOWN_NETDEV_EVENT";
|
|
@@ -8097,7 +8096,6 @@ static void netdev_wait_allrefs(struct net_device *dev)
|
|
|
rcu_barrier();
|
|
|
rtnl_lock();
|
|
|
|
|
|
- call_netdevice_notifiers(NETDEV_UNREGISTER_FINAL, dev);
|
|
|
if (test_bit(__LINK_STATE_LINKWATCH_PENDING,
|
|
|
&dev->state)) {
|
|
|
/* We must not have linkwatch events
|
|
@@ -8169,10 +8167,6 @@ void netdev_run_todo(void)
|
|
|
= list_first_entry(&list, struct net_device, todo_list);
|
|
|
list_del(&dev->todo_list);
|
|
|
|
|
|
- rtnl_lock();
|
|
|
- call_netdevice_notifiers(NETDEV_UNREGISTER_FINAL, dev);
|
|
|
- __rtnl_unlock();
|
|
|
-
|
|
|
if (unlikely(dev->reg_state != NETREG_UNREGISTERING)) {
|
|
|
pr_err("network todo '%s' but state %d\n",
|
|
|
dev->name, dev->reg_state);
|
|
@@ -8614,7 +8608,6 @@ int dev_change_net_namespace(struct net_device *dev, struct net *net, const char
|
|
|
*/
|
|
|
call_netdevice_notifiers(NETDEV_UNREGISTER, dev);
|
|
|
rcu_barrier();
|
|
|
- call_netdevice_notifiers(NETDEV_UNREGISTER_FINAL, dev);
|
|
|
|
|
|
new_nsid = peernet2id_alloc(dev_net(dev), net);
|
|
|
/* If there is an ifindex conflict assign a new one */
|