[3/3] samsung-laptop: Disable on EFI hardware

Submitted by Brad Figg on Jan. 31, 2013, 7:59 p.m.


Message ID 1359662371-25197-4-git-send-email-brad.figg@canonical.com
State New
Headers show

Commit Message

Brad Figg Jan. 31, 2013, 7:59 p.m.
From: Matt Fleming <matt.fleming@intel.com>

BugLink: http://bugs.launchpad.net/bugs/1111689

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,


There have also been reports of this driver causing Machine Check
Exceptions on recent EFI-enabled Samsung laptops,


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.

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>
Cc: <stable@vger.kernel.org>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>


Signed-off-by: Brad Figg <brad.figg@canonical.com>
(cherry picked from commit e0094244e41c4d0c7ad69920681972fc45d8ce34)
 drivers/platform/x86/samsung-laptop.c |    4 ++++
 1 file changed, 4 insertions(+)

Patch hide | download patch | download mbox

diff --git a/drivers/platform/x86/samsung-laptop.c b/drivers/platform/x86/samsung-laptop.c
index e72ec12..5122698 100644
--- 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>
@@ -1537,6 +1538,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;