Created
November 3, 2012 11:41
-
-
Save anonymous/4007122 to your computer and use it in GitHub Desktop.
disable-i8042-check-on-apple-mac.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From 2a79554c864ac58fa2ad982f0fcee2cc2aa33eb5 Mon Sep 17 00:00:00 2001 | |
From: Bastien Nocera <hadess@hadess.net> | |
Date: Thu, 20 May 2010 10:30:31 -0400 | |
Subject: Disable i8042 checks on Intel Apple Macs | |
As those computers never had any i8042 controllers, and the | |
current lookup code could potentially lock up/hang/wait for | |
timeout for long periods of time. | |
Fixes intermittent hangs on boot on a MacbookAir1,1 | |
Signed-off-by: Bastien Nocera <hadess@hadess.net> | |
--- | |
drivers/input/serio/i8042.c | 22 ++++++++++++++++++++++ | |
1 files changed, 22 insertions(+), 0 deletions(-) | |
diff --git a/drivers/input/serio/i8042.c b/drivers/input/serio/i8042.c | |
index 6440a8f..4d7cf98 100644 | |
--- a/drivers/input/serio/i8042.c | |
+++ b/drivers/input/serio/i8042.c | |
@@ -1451,6 +1451,22 @@ static struct platform_driver i8042_driver = { | |
.shutdown = i8042_shutdown, | |
}; | |
+#ifdef CONFIG_DMI | |
+static struct dmi_system_id __initdata dmi_system_table[] = { | |
+ { | |
+ .matches = { | |
+ DMI_MATCH(DMI_BIOS_VENDOR, "Apple Computer, Inc.") | |
+ }, | |
+ }, | |
+ { | |
+ .matches = { | |
+ DMI_MATCH(DMI_BIOS_VENDOR, "Apple Inc.") | |
+ }, | |
+ }, | |
+ {} | |
+}; | |
+#endif /*CONFIG_DMI*/ | |
+ | |
static int __init i8042_init(void) | |
{ | |
struct platform_device *pdev; | |
@@ -1458,6 +1474,12 @@ static int __init i8042_init(void) | |
dbg_init(); | |
+#ifdef CONFIG_DMI | |
+ /* Intel Apple Macs never have an i8042 controller */ | |
+ if (dmi_check_system(dmi_system_table) > 0) | |
+ return -ENODEV; | |
+#endif /*CONFIG_DMI*/ | |
+ | |
err = i8042_platform_init(); | |
if (err) | |
return err; | |
-- | |
1.7.0.1 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment