From: Zhao Yakui Date: Mon, 11 Aug 2008 06:59:59 +0000 (+0800) Subject: ACPI: Add DMI check to disable power state check in power transition X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=6415e12ba0f92a54f02d9c4ecaa3c82f35f3d335;p=openwrt%2Fstaging%2Fblogic.git 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 Signed-off-by: Li Shaohua Signed-off-by: Andi Kleen Signed-off-by: Len Brown --- diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c index 91bdeb3b081e..945cd2f2807d 100644 --- a/drivers/acpi/bus.c +++ b/drivers/acpi/bus.c @@ -48,6 +48,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 -------------------------------------------------------------------------- */ @@ -830,7 +847,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; }