|
@@ -1727,24 +1727,28 @@ int __init ndisc_init(void)
|
|
|
if (err)
|
|
|
goto out_unregister_pernet;
|
|
|
#endif
|
|
|
- err = register_netdevice_notifier(&ndisc_netdev_notifier);
|
|
|
- if (err)
|
|
|
- goto out_unregister_sysctl;
|
|
|
out:
|
|
|
return err;
|
|
|
|
|
|
-out_unregister_sysctl:
|
|
|
#ifdef CONFIG_SYSCTL
|
|
|
- neigh_sysctl_unregister(&nd_tbl.parms);
|
|
|
out_unregister_pernet:
|
|
|
-#endif
|
|
|
unregister_pernet_subsys(&ndisc_net_ops);
|
|
|
goto out;
|
|
|
+#endif
|
|
|
}
|
|
|
|
|
|
-void ndisc_cleanup(void)
|
|
|
+int __init ndisc_late_init(void)
|
|
|
+{
|
|
|
+ return register_netdevice_notifier(&ndisc_netdev_notifier);
|
|
|
+}
|
|
|
+
|
|
|
+void ndisc_late_cleanup(void)
|
|
|
{
|
|
|
unregister_netdevice_notifier(&ndisc_netdev_notifier);
|
|
|
+}
|
|
|
+
|
|
|
+void ndisc_cleanup(void)
|
|
|
+{
|
|
|
#ifdef CONFIG_SYSCTL
|
|
|
neigh_sysctl_unregister(&nd_tbl.parms);
|
|
|
#endif
|