|
@@ -48,6 +48,23 @@ EXPORT_SYMBOL(acpi_root_dir);
|
|
|
|
|
|
#define STRUCT_TO_INT(s) (*((int*)&s))
|
|
#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
|
|
Device Management
|
|
-------------------------------------------------------------------------- */
|
|
-------------------------------------------------------------------------- */
|
|
@@ -830,7 +847,11 @@ static int __init acpi_init(void)
|
|
}
|
|
}
|
|
} else
|
|
} else
|
|
disable_acpi();
|
|
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;
|
|
return result;
|
|
}
|
|
}
|
|
|
|
|