summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Herrmann <dh.herrmann@googlemail.com>2011-09-20 09:16:12 -0700
committerMatthew Garrett <mjg@redhat.com>2011-10-24 16:52:35 +0200
commita7ea19926ffba86f373f6050a106cd162dbb9a78 (patch)
tree4c6da04869eefdf754bfb3c60b29b24dd9d2640b
parentbee460be8c691c544e84ed678280ace6153104c6 (diff)
downloadlinux-a7ea19926ffba86f373f6050a106cd162dbb9a78.tar.bz2
Platform: Fix error path in samsung-laptop init
samsung_init() should not return success if not all devices are initialized. Otherwise, samsung_exit() will dereference sdev NULL pointers and others. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com> Cc: stable <stable@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Matthew Garrett <mjg@redhat.com>
-rw-r--r--drivers/platform/x86/samsung-laptop.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/platform/x86/samsung-laptop.c b/drivers/platform/x86/samsung-laptop.c
index 7eb6733138e6..4d3bed476d52 100644
--- a/drivers/platform/x86/samsung-laptop.c
+++ b/drivers/platform/x86/samsung-laptop.c
@@ -781,7 +781,7 @@ static int __init samsung_init(void)
sabi_iface = ioremap_nocache(ifaceP, 16);
if (!sabi_iface) {
pr_err("Can't remap %x\n", ifaceP);
- goto exit;
+ goto error_no_signature;
}
if (debug) {
printk(KERN_DEBUG "ifaceP = 0x%08x\n", ifaceP);
@@ -833,7 +833,6 @@ static int __init samsung_init(void)
if (retval)
goto error_file_create;
-exit:
return 0;
error_file_create: