Commit e0094244e41c4d0c7ad69920681972fc45d8ce34
Committed by
H. Peter Anvin
1 parent
83e6818974
Exists in
smarc-l5.0.0_1.0.0-ga
and in
5 other branches
samsung-laptop: Disable on EFI hardware
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. 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>
Showing 1 changed file with 4 additions and 0 deletions Side-by-side Diff
drivers/platform/x86/samsung-laptop.c
... | ... | @@ -26,6 +26,7 @@ |
26 | 26 | #include <linux/seq_file.h> |
27 | 27 | #include <linux/debugfs.h> |
28 | 28 | #include <linux/ctype.h> |
29 | +#include <linux/efi.h> | |
29 | 30 | #include <acpi/video.h> |
30 | 31 | |
31 | 32 | /* |
... | ... | @@ -1543,6 +1544,9 @@ |
1543 | 1544 | { |
1544 | 1545 | struct samsung_laptop *samsung; |
1545 | 1546 | int ret; |
1547 | + | |
1548 | + if (efi_enabled(EFI_BOOT)) | |
1549 | + return -ENODEV; | |
1546 | 1550 | |
1547 | 1551 | quirks = &samsung_unknown; |
1548 | 1552 | if (!force && !dmi_check_system(samsung_dmi_table)) |