aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/addrconf.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2010-09-27 04:03:03 -0400
committerDavid S. Miller <davem@davemloft.net>2010-09-27 04:03:03 -0400
commite40051d134f7ee95c8c1f7a3471e84eafc9ab326 (patch)
tree88eb44e49a75721ae926665a2c42f08badac9d07 /net/ipv6/addrconf.c
parent42099d7a3941d4aaf853caac92b3ae76149fc6e7 (diff)
parent2cc6d2bf3d6195fabcf0febc192c01f99519a8f3 (diff)
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts: drivers/net/qlcnic/qlcnic_init.c net/ipv4/ip_output.c
Diffstat (limited to 'net/ipv6/addrconf.c')
-rw-r--r--net/ipv6/addrconf.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index 89aa54394a0..8c88340278f 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -4638,10 +4638,12 @@ int __init addrconf_init(void)
4638 if (err < 0) { 4638 if (err < 0) {
4639 printk(KERN_CRIT "IPv6 Addrconf:" 4639 printk(KERN_CRIT "IPv6 Addrconf:"
4640 " cannot initialize default policy table: %d.\n", err); 4640 " cannot initialize default policy table: %d.\n", err);
4641 return err; 4641 goto out;
4642 } 4642 }
4643 4643
4644 register_pernet_subsys(&addrconf_ops); 4644 err = register_pernet_subsys(&addrconf_ops);
4645 if (err < 0)
4646 goto out_addrlabel;
4645 4647
4646 /* The addrconf netdev notifier requires that loopback_dev 4648 /* The addrconf netdev notifier requires that loopback_dev
4647 * has it's ipv6 private information allocated and setup 4649 * has it's ipv6 private information allocated and setup
@@ -4693,7 +4695,9 @@ errout:
4693 unregister_netdevice_notifier(&ipv6_dev_notf); 4695 unregister_netdevice_notifier(&ipv6_dev_notf);
4694errlo: 4696errlo:
4695 unregister_pernet_subsys(&addrconf_ops); 4697 unregister_pernet_subsys(&addrconf_ops);
4696 4698out_addrlabel:
4699 ipv6_addr_label_cleanup();
4700out:
4697 return err; 4701 return err;
4698} 4702}
4699 4703
@@ -4704,6 +4708,7 @@ void addrconf_cleanup(void)
4704 4708
4705 unregister_netdevice_notifier(&ipv6_dev_notf); 4709 unregister_netdevice_notifier(&ipv6_dev_notf);
4706 unregister_pernet_subsys(&addrconf_ops); 4710 unregister_pernet_subsys(&addrconf_ops);
4711 ipv6_addr_label_cleanup();
4707 4712
4708 rtnl_lock(); 4713 rtnl_lock();
4709 4714