| From e0094244e41c4d0c7ad69920681972fc45d8ce34 Mon Sep 17 00:00:00 2001 |
| From: Matt Fleming <matt.fleming@intel.com> |
| Date: Thu, 3 Jan 2013 09:02:37 +0000 |
| Subject: samsung-laptop: Disable on EFI hardware |
| |
| From: Matt Fleming <matt.fleming@intel.com> |
| |
| commit e0094244e41c4d0c7ad69920681972fc45d8ce34 upstream. |
| |
| It has been reported that running this driver on some Samsung laptops |
| with EFI can cause those machines to become bricked as detailed in the |
| following report, |
| |
| https://bugs.launchpad.net/ubuntu-cdimage/+bug/1040557 |
| |
| There have also been reports of this driver causing Machine Check |
| Exceptions on recent EFI-enabled Samsung laptops, |
| |
| https://bugzilla.kernel.org/show_bug.cgi?id=47121 |
| |
| So disable it if booting from EFI since this driver relies on |
| grovelling around in the BIOS memory map which isn't going to work. |
| |
| Signed-off-by: Matt Fleming <matt.fleming@intel.com> |
| Cc: Corentin Chary <corentincj@iksaif.net> |
| Cc: Matthew Garrett <mjg59@srcf.ucam.org> |
| Cc: Colin Ian King <colin.king@canonical.com> |
| Cc: Steve Langasek <steve.langasek@canonical.com> |
| Signed-off-by: H. Peter Anvin <hpa@linux.intel.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/platform/x86/samsung-laptop.c | 4 ++++ |
| 1 file changed, 4 insertions(+) |
| |
| --- a/drivers/platform/x86/samsung-laptop.c |
| +++ b/drivers/platform/x86/samsung-laptop.c |
| @@ -26,6 +26,7 @@ |
| #include <linux/seq_file.h> |
| #include <linux/debugfs.h> |
| #include <linux/ctype.h> |
| +#include <linux/efi.h> |
| #include <acpi/video.h> |
| |
| /* |
| @@ -1544,6 +1545,9 @@ static int __init samsung_init(void) |
| struct samsung_laptop *samsung; |
| int ret; |
| |
| + if (efi_enabled(EFI_BOOT)) |
| + return -ENODEV; |
| + |
| quirks = &samsung_unknown; |
| if (!force && !dmi_check_system(samsung_dmi_table)) |
| return -ENODEV; |