diff options
Diffstat (limited to 'net')
-rw-r--r-- | net/ipv6/addrconf.c | 6 | ||||
-rw-r--r-- | net/ipv6/proc.c | 1 |
2 files changed, 5 insertions, 2 deletions
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index e04e49373505..3452433cbc96 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c | |||
@@ -2359,8 +2359,9 @@ static int addrconf_notify(struct notifier_block *this, unsigned long event, | |||
2359 | break; | 2359 | break; |
2360 | 2360 | ||
2361 | case NETDEV_CHANGENAME: | 2361 | case NETDEV_CHANGENAME: |
2362 | #ifdef CONFIG_SYSCTL | ||
2363 | if (idev) { | 2362 | if (idev) { |
2363 | snmp6_unregister_dev(idev); | ||
2364 | #ifdef CONFIG_SYSCTL | ||
2364 | addrconf_sysctl_unregister(&idev->cnf); | 2365 | addrconf_sysctl_unregister(&idev->cnf); |
2365 | neigh_sysctl_unregister(idev->nd_parms); | 2366 | neigh_sysctl_unregister(idev->nd_parms); |
2366 | neigh_sysctl_register(dev, idev->nd_parms, | 2367 | neigh_sysctl_register(dev, idev->nd_parms, |
@@ -2368,8 +2369,9 @@ static int addrconf_notify(struct notifier_block *this, unsigned long event, | |||
2368 | &ndisc_ifinfo_sysctl_change, | 2369 | &ndisc_ifinfo_sysctl_change, |
2369 | NULL); | 2370 | NULL); |
2370 | addrconf_sysctl_register(idev, &idev->cnf); | 2371 | addrconf_sysctl_register(idev, &idev->cnf); |
2371 | } | ||
2372 | #endif | 2372 | #endif |
2373 | snmp6_register_dev(idev); | ||
2374 | } | ||
2373 | break; | 2375 | break; |
2374 | } | 2376 | } |
2375 | 2377 | ||
diff --git a/net/ipv6/proc.c b/net/ipv6/proc.c index acb306a5dd56..920dc9cf6a84 100644 --- a/net/ipv6/proc.c +++ b/net/ipv6/proc.c | |||
@@ -223,6 +223,7 @@ int snmp6_unregister_dev(struct inet6_dev *idev) | |||
223 | return -EINVAL; | 223 | return -EINVAL; |
224 | remove_proc_entry(idev->stats.proc_dir_entry->name, | 224 | remove_proc_entry(idev->stats.proc_dir_entry->name, |
225 | proc_net_devsnmp6); | 225 | proc_net_devsnmp6); |
226 | idev->stats.proc_dir_entry = NULL; | ||
226 | return 0; | 227 | return 0; |
227 | } | 228 | } |
228 | 229 | ||