diff options
author | David S. Miller <davem@davemloft.net> | 2010-09-27 04:03:03 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-09-27 04:03:03 -0400 |
commit | e40051d134f7ee95c8c1f7a3471e84eafc9ab326 (patch) | |
tree | 88eb44e49a75721ae926665a2c42f08badac9d07 /net/ipv6/addrconf.c | |
parent | 42099d7a3941d4aaf853caac92b3ae76149fc6e7 (diff) | |
parent | 2cc6d2bf3d6195fabcf0febc192c01f99519a8f3 (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.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index 89aa54394a08..8c88340278f5 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); |
4694 | errlo: | 4696 | errlo: |
4695 | unregister_pernet_subsys(&addrconf_ops); | 4697 | unregister_pernet_subsys(&addrconf_ops); |
4696 | 4698 | out_addrlabel: | |
4699 | ipv6_addr_label_cleanup(); | ||
4700 | out: | ||
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 | ||