aboutsummaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorManoj Iyer <manoj.iyer@canonical.com>2011-01-14 10:17:15 +0000
committerJohn Rigby <john.rigby@linaro.org>2011-03-16 15:59:53 -0600
commit6ffc58fedf3e2828194ae9703da602ffa1ab87ca (patch)
tree6ad9c4fbb0b9d7687bab314d060af289e8506729 /arch
parent626f92a9e831051ed935dd61f8985c752a5760b5 (diff)
Quirk to fix suspend/resume on Lenovo Edge 11,13,14,15
Set acpi_skip_timer_override to force ignoring BIOS IRQ0 pin2 override. This fixes resume from suspend on AMD based ThinkPad Edge 11,13,14 and 15. Please note that with this patch applied, you will see a warning message from the kernel, this is printed in acpi/boot.c before it sets acpi_skip_timer_override=1; [ 0.000000] ------------[ cut here ]------------ [ 0.000000] WARNING: at /home/manjo/ubuntu-maverick-674710/arch/x86/kernel/acpi/boot.c:1345 dmi_ignore_irq0_timer_override+0x2e/0x52() [ 0.000000] Hardware name: 254523U [ 0.000000] ati_ixp4x0 quirk not complete. [ 0.000000] Modules linked in: [ 0.000000] Pid: 0, comm: swapper Not tainted 2.6.35-25-generic #43 [ 0.000000] Call Trace: [ 0.000000] [<c014ad42>] warn_slowpath_common+0x72/0xa0 [ 0.000000] [<c0826724>] ? dmi_ignore_irq0_timer_override+0x2e/0x52 [ 0.000000] [<c0826724>] ? dmi_ignore_irq0_timer_override+0x2e/0x52 [ 0.000000] [<c014ae13>] warn_slowpath_fmt+0x33/0x40 [ 0.000000] [<c0826724>] dmi_ignore_irq0_timer_override+0x2e/0x52 [ 0.000000] [<c04dd7d0>] dmi_check_system+0x30/0x50 [ 0.000000] [<c0826df4>] acpi_boot_table_init+0x10/0x7d [ 0.000000] [<c0821ea7>] ? io_delay_init+0x16/0x18 [ 0.000000] [<c081f556>] setup_arch+0x562/0x645 [ 0.000000] [<c012cf19>] ? default_spin_lock_flags+0x9/0x10 [ 0.000000] [<c081b57b>] start_kernel+0xcf/0x374 [ 0.000000] [<c081b0d7>] i386_start_kernel+0xd7/0xdf [ 0.000000] ---[ end trace a7919e7f17c0a725 ]--- [ 0.000000] ThinkPad Edge detected: Ignoring BIOS IRQ0 pin2 override Signed-off-by: Manoj Iyer <manoj.iyer@canonical.com> BugLink: http://launchpad.net/bugs/702434 Acked-by: Stefan Bader <stefan.bader@canonical.com> Signed-off-by: Andy Whitcroft <apw@canonical.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/kernel/acpi/boot.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index 3e6e2d68f761..7d3ac5a73310 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -1425,6 +1425,42 @@ static struct dmi_system_id __initdata acpi_dmi_table[] = {
DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 360"),
},
},
+ /* ThinkPad Edge 11 (AMD) */
+ {
+ .callback = dmi_ignore_irq0_timer_override,
+ .ident = "ThinkPad Edge",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "254523U"),
+ },
+ },
+ /* ThinkPad Edge 13 (AMD) */
+ {
+ .callback = dmi_ignore_irq0_timer_override,
+ .ident = "ThinkPad Edge",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "022120U"),
+ },
+ },
+ /* ThinkPad Edge 14 (AMD) */
+ {
+ .callback = dmi_ignore_irq0_timer_override,
+ .ident = "ThinkPad Edge",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "019923U"),
+ },
+ },
+ /* ThinkPad Edge 15 (AMD) */
+ {
+ .callback = dmi_ignore_irq0_timer_override,
+ .ident = "ThinkPad Edge",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "030222U"),
+ },
+ },
{}
};