+++ /dev/null
-From stable-bounces@linux.kernel.org Mon Jan 2 11:43:25 2006
-Message-Id: <200601021943.k02Jh9ph006743@shell0.pdx.osdl.net>
-To: len.brown@intel.com
-From: akpm@osdl.org
-Date: Mon, 02 Jan 2006 11:42:59 -0800
-Cc: Greek0@gmx.net, stable@kernel.org
-Subject: acpi: fix asus_acpi on Samsung P30/P35
-
-
-From: Christian Aichinger <Greek0@gmx.net>
-
-For a while now asus_acpi is broken on samsung laptops (causes oopses on
-module loading and kernel panic if compiled into the kernel).
-
-Signed-off-by: Christian Aichinger <Greek0@gmx.net>
-Cc: "Brown, Len" <len.brown@intel.com>
-Cc: <stable@kernel.org>
-Signed-off-by: Andrew Morton <akpm@osdl.org>
----
-
- drivers/acpi/asus_acpi.c | 31 ++++++++++++++++++++++++++++---
- 1 files changed, 28 insertions(+), 3 deletions(-)
-
-diff -puN drivers/acpi/asus_acpi.c~acpi-fix-asus_acpi-on-samsung-p30-p35 drivers/acpi/asus_acpi.c
---- devel/drivers/acpi/asus_acpi.c~acpi-fix-asus_acpi-on-samsung-p30-p35 2006-01-02 11:40:47.000000000 -0800
-+++ devel-akpm/drivers/acpi/asus_acpi.c 2006-01-02 11:42:29.000000000 -0800
-@@ -992,6 +992,25 @@ static int __init asus_hotk_get_info(voi
- return -EINVAL;
-
- model = (union acpi_object *) buffer.pointer;
-+
-+ /* INIT on Samsung's P35 returns an integer, possible return
-+ * values are tested below */
-+ if (model->type == ACPI_TYPE_INTEGER) {
-+ if (model->integer.value == -1 ||
-+ model->integer.value == 0x58 ||
-+ model->integer.value == 0x38) {
-+ hotk->model = P30;
-+ printk(KERN_NOTICE " Samsung P35 detected, "
-+ "supported\n");
-+ goto out_known;
-+ } else {
-+ printk(KERN_WARNING " unknown integer 0x%llx returned "
-+ "by INIT\n",
-+ (unsigned long long)model->integer.value);
-+ goto out_unknown;
-+ }
-+ }
-+
- /*
- * Samsung P30 has a device with a valid _HID whose INIT does not
- * return anything. It used to be possible to catch this exception,
-@@ -1066,9 +1085,7 @@ static int __init asus_hotk_get_info(voi
- hotk->model = L5x;
-
- if (hotk->model == END_MODEL) {
-- printk("unsupported, trying default values, supply the "
-- "developers with your DSDT\n");
-- hotk->model = M2E;
-+ goto out_unknown;
- } else {
- printk("supported\n");
- }
-@@ -1097,6 +1114,14 @@ static int __init asus_hotk_get_info(voi
- acpi_os_free(model);
-
- return AE_OK;
-+out_unknown:
-+ printk(KERN_WARNING " unsupported, trying default values, "
-+ "supply the developers with your DSDT\n");
-+ hotk->model = M2E;
-+out_known:
-+ hotk->methods = &model_conf[hotk->model];
-+ acpi_os_free(model);
-+ return AE_OK;
- }
-
- static int __init asus_hotk_check(void)
-_
-
-_______________________________________________
-stable mailing list
-stable@linux.kernel.org
-http://linux.kernel.org/mailman/listinfo/stable
-