Re: [PATCH] Work around asus_acpi driver oopses on Samsung P30s andthe like due to the ACPI implicit return

From: Andrew Morton
Date: Mon Feb 20 2006 - 00:26:31 EST


Alex Riesen <fork0@xxxxxxxxxxxxxxxxxxxxx> wrote:
>
> FWIW, I need the patch below to stop ACPI freezing at boot on Asus S1300N.
> There is a BIOS update from Asus, but no mention of any fixes in ACPI,
> so as I have no means to backup the BIOS in case something goes wrong
> I didn't do the update.

I think it'd be worth trying the update anyway please. Normally those
updating programs are pretty careful to not give you a dead box.

> I found out (by putting printks in the initialization code) that a
> call to INI (whatever it is) of VGA_ (whatever this is) immediately
> freezes the notebook and the fan goes on shortly afterwards.
>

Is this a recent problem, or did earlier 2.6.x kernels also fail?


> diff --git a/drivers/acpi/asus_acpi.c b/drivers/acpi/asus_acpi.c
> index f4c8775..d415b30 100644
> --- a/drivers/acpi/asus_acpi.c
> +++ b/drivers/acpi/asus_acpi.c
> @@ -352,8 +352,8 @@ static struct model_data model_conf[END_
> .lcd_status = "\\BKLT",
> .brightness_set = "SPLV",
> .brightness_get = "GPLV",
> - .display_set = "SDSP",
> - .display_get = "\\ADVG"}
> + /* .display_set = "SDSP",
> + .display_get = "\\ADVG" */}
> };
>
> /* procdir we use */
> diff --git a/drivers/acpi/namespace/nsinit.c b/drivers/acpi/namespace/nsinit.c
> index 9f929e4..79fa2ec 100644
> --- a/drivers/acpi/namespace/nsinit.c
> +++ b/drivers/acpi/namespace/nsinit.c
> @@ -384,7 +384,12 @@ acpi_ns_init_one_device(acpi_handle obj_
> pinfo.parameters = NULL;
> pinfo.parameter_type = ACPI_PARAM_ARGS;
>
> - status = acpi_ut_execute_STA(pinfo.node, &flags);
> + /* workaround Asus S1300N freeze at INI */
> + if ( memcmp(pinfo.node->name.ascii, "VGA_",4)==0 ) {
> + printk(KERN_ERR "acpi: VGA_ ignored\n");
> + status = AE_NOT_FOUND;
> + } else
> + status = acpi_ut_execute_STA(pinfo.node, &flags);
> if (ACPI_FAILURE(status)) {
> /* Ignore error and move on to next device */
>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/