Permalink
Browse files

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>
  • Loading branch information...
1 parent 2959440 commit bd059346360e74d9ceb569a9910bb6b8559b13eb Manoj Iyer committed with heftig Jan 14, 2011
Showing with 36 additions and 0 deletions.
  1. +36 −0 arch/x86/kernel/acpi/boot.c
@@ -1423,6 +1423,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"),
+ },
+ },
{}
};

0 comments on commit bd05934

Please sign in to comment.