|
Bugzilla – Full Text Bug Listing |
| Summary: | asus-acpi kernel module goes beserk on L5D series notebook | ||
|---|---|---|---|
| Product: | [openSUSE] SUSE LINUX 10.0 | Reporter: | Simon Morgan <simonmorgan> |
| Component: | Kernel | Assignee: | Olaf Kirch <okir> |
| Status: | RESOLVED FIXED | QA Contact: | E-mail List <qa-bugs> |
| Severity: | Major | ||
| Priority: | P0 - Crit Sit | ||
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | x86-64 | ||
| OS: | SUSE Other | ||
| Whiteboard: | |||
| Found By: | Beta-Customer | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
| Attachments: |
patch for asus_acpi kernel module
patch for asus_acpi.c against HEAD patch for asus_acpi.c against HEAD |
||
Created attachment 51050 [details]
patch for asus_acpi kernel module
Adds explicit support for L5D series notebooks and fixes a bug where the syslog
fills with the message "Asus ACPI: Error reading LCD status"
what should we do with this one. Is worth adding to 10.0? Timo maybe you can propagate this change to mainline... Yes, the patch looks good to me. I was hoping that the L5D would match with the L5 but looks like I was wrong. Created attachment 52080 [details]
patch for asus_acpi.c against HEAD
Comment on attachment 52080 [details]
patch for asus_acpi.c against HEAD
typo
Created attachment 52081 [details]
patch for asus_acpi.c against HEAD
Olaf, can you please apply the patch to our kernel tree? It's compile tested. I don't think HEAD is the right place - it's the development tree for SL10.1. I added this patch to the 10.0 branch; it will be in the next update kernel. |
LCD status message randomly appears on screen and system log fills with message: "Asus ACPI: Error reading LCD status" This happens with kernels 2.6.10 onwards and affects SuSE 9.3 and 10.0 I have attached a patch to the asus_acpi.c file to add explicit support for the L5D series. I have also reported this to the kernel bugzilla system but nothing has happened so I submit it here. CUT HERE ====================================================== --- linux/drivers/acpi/asus_acpi.c 2005-03-20 15:34:04.000000000 +0000 +++ linux/drivers/acpi/asus_acpi.c 2005-06-02 12:22:41.000000000 +0100 @@ -124,6 +124,7 @@ L3D, //L3400D L3H, //L3H, but also L2000E L4R, //L4500R + L5D, //L5000D/DF L5x, //L5800C L8L, //L8400L M1A, //M1300A @@ -263,6 +264,19 @@ .display_get = "\\_SB.PCI0.P0P1.VGA.GETD" }, + { + .name = "L5D", + .mt_mled = "MLED", +/* WLED present, but not controlled by ACPI */ +/* TLED does not exist */ +/* .mt_lcd_switch does not exist - handled by hardware */ +/* .lcd_status - unneccesary, see above */ + .brightness_set = "SPLV", + .brightness_get = "GPLV", + .display_set = "SDSP", + .display_get = "\\INFB" + }, + { .name = "L5x", .mt_mled = "MLED", @@ -622,7 +636,7 @@ { int lcd = 0; - if (hotk->model != L3H) { + if (hotk->model != L3H && hotk->model != L5D) { /* We don't have to check anything if we are here */ if (!read_acpi_int(NULL, hotk->methods->lcd_status, &lcd)) printk(KERN_WARNING "Asus ACPI: Error reading LCD status\n"); @@ -667,7 +681,7 @@ lcd = value ? 1 : 0; if (lcd != get_lcd_state()) { /* switch */ - if (hotk->model != L3H) { + if (hotk->model != L3H && hotk->model != L5D) { status = acpi_evaluate_object(NULL, hotk->methods->mt_lcd_switch, NULL, NULL); @@ -1054,6 +1068,8 @@ hotk->model = A2x; else if (strncmp(model->string.pointer, "J1", 2) == 0) hotk->model = S2x; + else if (strncmp(model->string.pointer, "L5D", 3) == 0) + hotk->model = L5D; else if (strncmp(model->string.pointer, "L5", 2) == 0) hotk->model = L5x; CUT HERE =======================