diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-12-05 09:25:53 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-12-05 09:25:53 -0800 |
commit | 2cfae2739bda8fc5d934977c0ab19f6df1dd6d6c (patch) | |
tree | afe1107cd252595a8d99c292c9f68ee1b5d15364 /arch/sparc64/kernel/ldc.c | |
parent | 97bd7919e2c1445dabbcc2686795dbb52316b923 (diff) | |
parent | 9cb1200a286799db897e81bc2b2c1730cfdc9c08 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
[SPARC64]: Update defconfig.
[SPARC]: Add missing of_node_put
[SPARC64]: check for possible NULL pointer dereference
[SPARC]: Add missing "space"
[SPARC64]: Add missing "space"
[SPARC64]: Add missing pci_dev_put
[SYSCTL_CHECK]: Fix typo in KERN_SPARC_SCONS_PWROFF entry string.
[SPARC64]: Missing mdesc_release() in ldc_init().
Diffstat (limited to 'arch/sparc64/kernel/ldc.c')
-rw-r--r-- | arch/sparc64/kernel/ldc.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/arch/sparc64/kernel/ldc.c b/arch/sparc64/kernel/ldc.c index 217478a9412..63969f61028 100644 --- a/arch/sparc64/kernel/ldc.c +++ b/arch/sparc64/kernel/ldc.c @@ -2338,6 +2338,7 @@ static int __init ldc_init(void) unsigned long major, minor; struct mdesc_handle *hp; const u64 *v; + int err; u64 mp; hp = mdesc_grab(); @@ -2345,29 +2346,33 @@ static int __init ldc_init(void) return -ENODEV; mp = mdesc_node_by_name(hp, MDESC_NODE_NULL, "platform"); + err = -ENODEV; if (mp == MDESC_NODE_NULL) - return -ENODEV; + goto out; v = mdesc_get_property(hp, mp, "domaining-enabled", NULL); if (!v) - return -ENODEV; + goto out; major = 1; minor = 0; if (sun4v_hvapi_register(HV_GRP_LDOM, major, &minor)) { printk(KERN_INFO PFX "Could not register LDOM hvapi.\n"); - return -ENODEV; + goto out; } printk(KERN_INFO "%s", version); if (!*v) { printk(KERN_INFO PFX "Domaining disabled.\n"); - return -ENODEV; + goto out; } ldom_domaining_enabled = 1; + err = 0; - return 0; +out: + mdesc_release(hp); + return err; } core_initcall(ldc_init); |