Patchwork [Lucid,v2] SRU: UBUNTU: SAUCE: Fix hang on resume for Dell Studio 1558, 1557, 1555

login
register
mail settings
Submitter Kamal Mostafa
Date April 20, 2010, 8:16 p.m.
Message ID <1271794564-9695-1-git-send-email-kamal@canonical.com>
Download mbox | patch
Permalink /patch/50572/
State Accepted
Delegated to: Andy Whitcroft
Headers show

Comments

Kamal Mostafa - April 20, 2010, 8:16 p.m.
Proposed patch for Lucid SRU-

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/553498
Dell Studio 1558 (Arrandale) hangs on resume from suspend

SRU Justification/Impact:

Dell Studio 1558 (and presumably other 155x models) hangs on resume from
suspend.

TEST CASE:

I have built and tested a kernel with this patch and confirmed that it
reliably fixes resume from suspend on my own Dell Studio 1558.
Andy Whitcroft - April 21, 2010, 9:32 a.m.
On Tue, Apr 20, 2010 at 01:16:04PM -0700, Kamal Mostafa wrote:
> Proposed patch for Lucid SRU-
> 
> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/553498
> Dell Studio 1558 (Arrandale) hangs on resume from suspend
> 
> SRU Justification/Impact:
> 
> Dell Studio 1558 (and presumably other 155x models) hangs on resume from
> suspend.
> 
> TEST CASE:
> 
> I have built and tested a kernel with this patch and confirmed that it
> reliably fixes resume from suspend on my own Dell Studio 1558.
> 
> =====
> 
> Add the Dell Studio models (1558, 1557, 1555) to the list of machines
> needing 'set_sci_en_on_resume' handling; affects only the listed models.
> 
> BugLink: http://bugs.launchpad.net/bugs/553498
> 
> Signed-off-by: Kamal Mostafa <kamal@canonical.com>
> ---
>  drivers/acpi/sleep.c |   24 ++++++++++++++++++++++++
>  1 files changed, 24 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/acpi/sleep.c b/drivers/acpi/sleep.c
> index 5f2c379..cf3101f 100644
> --- a/drivers/acpi/sleep.c
> +++ b/drivers/acpi/sleep.c
> @@ -453,6 +453,30 @@ static struct dmi_system_id __initdata acpisleep_dmi_table[] = {
>  		DMI_MATCH(DMI_BOARD_NAME, "CF51-2L"),
>  		},
>  	},
> +	{
> +	.callback = init_set_sci_en_on_resume,
> +	.ident = "Dell Studio 1558",
> +	.matches = {
> +		DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +		DMI_MATCH(DMI_PRODUCT_NAME, "Studio 1558"),
> +		},
> +	},
> +	{
> +	.callback = init_set_sci_en_on_resume,
> +	.ident = "Dell Studio 1557",
> +	.matches = {
> +		DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +		DMI_MATCH(DMI_PRODUCT_NAME, "Studio 1557"),
> +		},
> +	},
> +	{
> +	.callback = init_set_sci_en_on_resume,
> +	.ident = "Dell Studio 1555",
> +	.matches = {
> +		DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +		DMI_MATCH(DMI_PRODUCT_NAME, "Studio 1555"),
> +		},
> +	},
>  	{},
>  };
>  #endif /* CONFIG_SUSPEND */

I presume this means these machines have bad bioses, sigh.  Seems
reasonable assuming they have been tested.

Acked-by: Andy Whitcroft <apw@canonical.com>

-apw
Stefan Bader - April 21, 2010, 4:26 p.m.
There also seem to be discussion upstream about that and Matthew Garret has
posted a patch which would forcefully set it in general if the BIOS does not do
so. This kind of BIOS horkage seems to be too widespread and the "other OS" does
not care about the spec and sets it. So for now I think this is reasonable for
Lucid even if we might see that generic change coming from stable at some point.

Kamal Mostafa wrote:
> Proposed patch for Lucid SRU-
> 
> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/553498
> Dell Studio 1558 (Arrandale) hangs on resume from suspend
> 
> SRU Justification/Impact:
> 
> Dell Studio 1558 (and presumably other 155x models) hangs on resume from
> suspend.
> 
> TEST CASE:
> 
> I have built and tested a kernel with this patch and confirmed that it
> reliably fixes resume from suspend on my own Dell Studio 1558.
> 
> =====
> 
> Add the Dell Studio models (1558, 1557, 1555) to the list of machines
> needing 'set_sci_en_on_resume' handling; affects only the listed models.
> 
> BugLink: http://bugs.launchpad.net/bugs/553498
> 
> Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Acked-by: Stefan Bader <stefan.bader@canonical.com>
> ---
>  drivers/acpi/sleep.c |   24 ++++++++++++++++++++++++
>  1 files changed, 24 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/acpi/sleep.c b/drivers/acpi/sleep.c
> index 5f2c379..cf3101f 100644
> --- a/drivers/acpi/sleep.c
> +++ b/drivers/acpi/sleep.c
> @@ -453,6 +453,30 @@ static struct dmi_system_id __initdata acpisleep_dmi_table[] = {
>  		DMI_MATCH(DMI_BOARD_NAME, "CF51-2L"),
>  		},
>  	},
> +	{
> +	.callback = init_set_sci_en_on_resume,
> +	.ident = "Dell Studio 1558",
> +	.matches = {
> +		DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +		DMI_MATCH(DMI_PRODUCT_NAME, "Studio 1558"),
> +		},
> +	},
> +	{
> +	.callback = init_set_sci_en_on_resume,
> +	.ident = "Dell Studio 1557",
> +	.matches = {
> +		DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +		DMI_MATCH(DMI_PRODUCT_NAME, "Studio 1557"),
> +		},
> +	},
> +	{
> +	.callback = init_set_sci_en_on_resume,
> +	.ident = "Dell Studio 1555",
> +	.matches = {
> +		DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +		DMI_MATCH(DMI_PRODUCT_NAME, "Studio 1555"),
> +		},
> +	},
>  	{},
>  };
>  #endif /* CONFIG_SUSPEND */
Andy Whitcroft - April 22, 2010, 5:22 p.m.
Applied to Lucid.

-apw

Patch

=====

Add the Dell Studio models (1558, 1557, 1555) to the list of machines
needing 'set_sci_en_on_resume' handling; affects only the listed models.

BugLink: http://bugs.launchpad.net/bugs/553498

Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
 drivers/acpi/sleep.c |   24 ++++++++++++++++++++++++
 1 files changed, 24 insertions(+), 0 deletions(-)

diff --git a/drivers/acpi/sleep.c b/drivers/acpi/sleep.c
index 5f2c379..cf3101f 100644
--- a/drivers/acpi/sleep.c
+++ b/drivers/acpi/sleep.c
@@ -453,6 +453,30 @@  static struct dmi_system_id __initdata acpisleep_dmi_table[] = {
 		DMI_MATCH(DMI_BOARD_NAME, "CF51-2L"),
 		},
 	},
+	{
+	.callback = init_set_sci_en_on_resume,
+	.ident = "Dell Studio 1558",
+	.matches = {
+		DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
+		DMI_MATCH(DMI_PRODUCT_NAME, "Studio 1558"),
+		},
+	},
+	{
+	.callback = init_set_sci_en_on_resume,
+	.ident = "Dell Studio 1557",
+	.matches = {
+		DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
+		DMI_MATCH(DMI_PRODUCT_NAME, "Studio 1557"),
+		},
+	},
+	{
+	.callback = init_set_sci_en_on_resume,
+	.ident = "Dell Studio 1555",
+	.matches = {
+		DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
+		DMI_MATCH(DMI_PRODUCT_NAME, "Studio 1555"),
+		},
+	},
 	{},
 };
 #endif /* CONFIG_SUSPEND */