| From a7ea19926ffba86f373f6050a106cd162dbb9a78 Mon Sep 17 00:00:00 2001 |
| From: David Herrmann <dh.herrmann@googlemail.com> |
| Date: Tue, 20 Sep 2011 09:16:12 -0700 |
| Subject: Platform: Fix error path in samsung-laptop init |
| |
| From: David Herrmann <dh.herrmann@googlemail.com> |
| |
| commit a7ea19926ffba86f373f6050a106cd162dbb9a78 upstream. |
| |
| 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> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| Signed-off-by: Matthew Garrett <mjg@redhat.com> |
| |
| --- |
| drivers/platform/x86/samsung-laptop.c | 3 +-- |
| 1 file changed, 1 insertion(+), 2 deletions(-) |
| |
| --- a/drivers/platform/x86/samsung-laptop.c |
| +++ b/drivers/platform/x86/samsung-laptop.c |
| @@ -799,7 +799,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); |
| @@ -851,7 +851,6 @@ static int __init samsung_init(void) |
| if (retval) |
| goto error_file_create; |
| |
| -exit: |
| return 0; |
| |
| error_file_create: |