[PATCH] Quirk to fix suspend/resume on Lenovo Edge 11,13,14,15

Stefan Bader stefan.bader at canonical.com
Fri Jan 14 20:33:12 UTC 2011


On 01/14/2011 02:17 PM, Manoj Iyer wrote:
> 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 at canonical.com>
> 
> BugLink: http://launchpad.net/bugs/702434
> ---
>  arch/x86/kernel/acpi/boot.c |   36 ++++++++++++++++++++++++++++++++++++
>  1 files changed, 36 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
> index 71232b9..b0caeb5 100644
> --- a/arch/x86/kernel/acpi/boot.c
> +++ b/arch/x86/kernel/acpi/boot.c
> @@ -1451,6 +1451,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"),
> +		    },
> +	},
>  	{}
>  };
>  

Is there a difference to the last patch you took back yourself?




More information about the kernel-team mailing list