[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1272058866.1594.7.camel@laptop>
Date: Fri, 23 Apr 2010 16:41:06 -0500
From: Jerone Young <jerone.young@...onical.com>
To: Alex Chiang <achiang@...onical.com>
Cc: lenb@...nel.org, colin.king@...onical.com,
linux-acpi@...r.kernel.org,
linux-kernel <linux-kernel@...r.kernel.org>, stable@...nel.org
Subject: Re: [PATCH v2] ACPI: DMI init_set_sci_en_on_resume for multiple
Lenovo ThinkPads
You made a small mistake..point out below.
**mumble** .. still not a fan of quirk tables when a bios coming out to
resolve this issue is coming out..one out for T410 came out yesterday.
On Fri, 2010-04-23 at 10:20 -0600, Alex Chiang wrote:
> Multiple Lenovo ThinkPad models with Intel Core i5/i7 CPUs can
> successfully suspend/resume once, and then hang on the second s/r
> cycle.
>
> We got confirmation that this was due to a BIOS defect. The BIOS
> did not properly set SCI_EN coming out of S3. The BIOS guys
> hinted that The Other Leading OS ignores the fact that hardware
> owns the bit and sets it manually.
>
> In any case, an existing DMI table exists for machines where this
> defect is a known problem. Lenovo promise to fix their BIOS, but
> for folks who either won't or can't upgrade their BIOS, allow
> Linux to workaround the issue.
>
> Confirmed by numerous testers in the launchpad bug that using
> acpi_sleep=sci_force_enable fixes the issue. We add the machines
> to acpisleep_dmi_table[] to automatically enable this workaround.
>
> https://bugzilla.kernel.org/show_bug.cgi?id=15407
> BugLink: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/532374
>
> Cc: stable@...nel.org
> Signed-off-by: Alex Chiang <achiang@...onical.com>
> ---
> We want to get this patch upstream so that we can get it into
> -stable. Matthew Garrett's patch titled "Fall back to manually
> changing SCI_EN" is the plan for dealing with future platforms
> that will likely have this same BIOS bug.
>
> v1 -> v2:
> - remove separate X201s entry, as the X201 entry will match it too
> ---
> sleep.c | 32 ++++++++++++++++++++++++++++++++
> 1 file changed, 32 insertions(+)
> ---
> diff --git a/drivers/acpi/sleep.c b/drivers/acpi/sleep.c
> index f74834a..317794f 100644
> --- a/drivers/acpi/sleep.c
> +++ b/drivers/acpi/sleep.c
> @@ -450,6 +450,38 @@ static struct dmi_system_id __initdata acpisleep_dmi_table[] = {
> },
> },
> {
> + .callback = init_set_sci_en_on_resume,
> + .ident = "Lenovo ThinkPad T410",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T410"),
> + },
> + },
> + {
> + .callback = init_set_sci_en_on_resume,
> + .ident = "Lenovo ThinkPad T510",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T510"),
> + },
> + },
> + {
> + .callback = init_set_sci_en_on_resume,
> + .ident = "Lenovo ThinkPad W510",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad W510"),
> + },
> + },
> + {
> + .callback = init_set_sci_en_on_resume,
> + .ident = "Lenovo ThinkPad X201[s]",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad X201"),
The X201s identifies it's self as an X201s .. So you would need two
separate entries.
Here is dmidecode data from a X201s:
http://launchpadlibrarian.net/45050202/dmidecode
> + },
> + },
> + {
> .callback = init_old_suspend_ordering,
> .ident = "Panasonic CF51-2L",
> .matches = {
> --
> To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists