[PATCH 3/3] SRU LP69925 Hardy - CPU fan stops at kernel load
Steve Conklin
sconklin at canonical.com
Wed Dec 3 21:35:17 UTC 2008
>From dfa2251289caecac1f74ffbaa074550d6f3834d6 Mon Sep 17 00:00:00 2001
From: Zhao Yakui <yakui.zhao at intel.com>
Date: Mon, 11 Aug 2008 14:59:59 +0800
Subject: [PATCH] UBUNTU: ACPI: Add DMI check to disable power state check in power transition
Bug: 69925
upstream commit 6415e12
ACPI: Add DMI check to disable power state check in power transition
Add the DMI check to disable power check in the course of device power
transistion.
http://bugzilla.kernel.org/show_bug.cgi?id=11000
Signed-off-by: Zhao Yakui <yakui.zhao at intel.com>
Signed-off-by: Li Shaohua <shaohua.li at intel.com>
Signed-off-by: Andi Kleen <ak at linux.intel.com>
Signed-off-by: Len Brown <len.brown at intel.com>
Signed-off-by: Steve Conklin <sconklin at canonical.com>
---
drivers/acpi/bus.c | 23 ++++++++++++++++++++++-
1 files changed, 22 insertions(+), 1 deletions(-)
diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c
index 74155d1..d417358 100644
--- a/drivers/acpi/bus.c
+++ b/drivers/acpi/bus.c
@@ -49,6 +49,23 @@ EXPORT_SYMBOL(acpi_root_dir);
#define STRUCT_TO_INT(s) (*((int*)&s))
+static int set_power_nocheck(const struct dmi_system_id *id)
+{
+ printk(KERN_NOTICE PREFIX "%s detected - "
+ "disable power check in power transistion\n", id->ident);
+ acpi_power_nocheck = 1;
+ return 0;
+}
+static struct dmi_system_id __cpuinitdata power_nocheck_dmi_table[] = {
+ {
+ set_power_nocheck, "HP Pavilion 05", {
+ DMI_MATCH(DMI_BIOS_VENDOR, "Phoenix Technologies LTD"),
+ DMI_MATCH(DMI_SYS_VENDOR, "HP Pavilion 05"),
+ DMI_MATCH(DMI_PRODUCT_VERSION, "2001211RE101GLEND") }, NULL},
+ {},
+};
+
+
/* --------------------------------------------------------------------------
Device Management
-------------------------------------------------------------------------- */
@@ -786,7 +803,11 @@ static int __init acpi_init(void)
}
} else
disable_acpi();
-
+ /*
+ * If the laptop falls into the DMI check table, the power state check
+ * will be disabled in the course of device power transistion.
+ */
+ dmi_check_system(power_nocheck_dmi_table);
return result;
}
--
1.5.4.3
More information about the kernel-team
mailing list