public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Kernel oops with asus_acpi module
@ 2005-06-05 21:40 Hanno Böck
  2005-06-06 16:50 ` randy_dunlap
       [not found] ` <200506061929.24663.mail@hboeck.de>
  0 siblings, 2 replies; 11+ messages in thread
From: Hanno Böck @ 2005-06-05 21:40 UTC (permalink / raw)
  To: acpi-devel, linux-kernel

Matthias Hentges has postet this a while ago to the acpi4asus-list:
http://sourceforge.net/mailarchive/forum.php?thread_id=7214924&forum_id=33295

I have a Samsung P30. The problem happens on both rc and mm-kernels at the 
moment.
I hope this can be fixed before 2.6.12.

The asus_acpi module freezes the system on boot if compiled into the kernel.

If loaded as a module, I get this error:

Asus Laptop ACPI Extras version 0.29
Unable to handle kernel NULL pointer dereference at virtual address 00000000
 printing eip:
e19e9391
*pde = 00000000
Oops: 0000 [#1]
PREEMPT
Modules linked in: asus_acpi eth1394 ipw2100 ohci1394 ieee1394 yenta_socket 
rsrc_nonstatic pcmcia_core ehci_hcd uhci_hcd usbcore
CPU:    0
EIP:    0060:[<e19e9391>]    Not tainted VLI
EFLAGS: 00210203   (2.6.12-rc5-mm2)
EIP is at asus_hotk_get_info+0x1aa/0x79a [asus_acpi]
eax: 00000000   ebx: dfe0d000   ecx: 00000002   edx: 00000003
esi: 00000000   edi: e19fca60   ebp: d7e9c800   esp: dae19ec0
ds: 007b   es: 007b   ss: 0068
Process modprobe (pid: 12174, threadinfo=dae18000 task=d13bf0b0)
Stack: 00000000 00200296 c011c497 00000000 ffffffd8 dfe0d000 00000000 00000000
       c05a9c88 c011c273 dae19f6c dfc37c3c 00000000 c0294036 00000000 00000000
       00000000 dae19f54 00200246 0000002b 00000300 0000030c 00000000 00000000
Call Trace:
 [<c011c497>] release_console_sem+0xe7/0x110
 [<c011c273>] vprintk+0x1f3/0x2b0
 [<c0294036>] sub_alloc+0xb6/0x1b0
 [<e19e9a3f>] asus_hotk_add+0x8b/0x143 [asus_acpi]
 [<c02e0f01>] acpi_bus_driver_init+0x29/0x50
 [<c02e0fbc>] acpi_driver_attach+0x59/0x9d
 [<e19e9b41>] asus_acpi_init+0x4a/0x72 [asus_acpi]
 [<c0138212>] sys_init_module+0xc2/0x200
 [<c01030d7>] sysenter_past_esp+0x54/0x75
Code: e1 e8 f4 2c 73 de 5e 5f a1 10 eb 9f e1 ba 03 00 00 00 bf 60 ca 9f e1 89 
d1 c7 40 14 12 00 00 00 8b 45 08 89 04 24 89 c6 49 78 08 <ac> ae 75 08 84 c0 
75 f5 31 c0 eb 04 19 c0 0c 01 85 c0 75 11 a1


If you need further info, please contact me.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Kernel oops with asus_acpi module
  2005-06-05 21:40 Kernel oops with asus_acpi module Hanno Böck
@ 2005-06-06 16:50 ` randy_dunlap
       [not found] ` <200506061929.24663.mail@hboeck.de>
  1 sibling, 0 replies; 11+ messages in thread
From: randy_dunlap @ 2005-06-06 16:50 UTC (permalink / raw)
  To: Hanno Böck; +Cc: acpi-devel, linux-kernel

On Sun, 5 Jun 2005 23:40:40 +0200 Hanno Böck wrote:

| Matthias Hentges has postet this a while ago to the acpi4asus-list:
| http://sourceforge.net/mailarchive/forum.php?thread_id=7214924&forum_id=33295
| 
| I have a Samsung P30. The problem happens on both rc and mm-kernels at the 
| moment.
| I hope this can be fixed before 2.6.12.
| 
| The asus_acpi module freezes the system on boot if compiled into the kernel.
| 
| If loaded as a module, I get this error:
| 
| Asus Laptop ACPI Extras version 0.29
| Unable to handle kernel NULL pointer dereference at virtual address 00000000
|  printing eip:
| e19e9391
| *pde = 00000000
| Oops: 0000 [#1]
| PREEMPT
| Modules linked in: asus_acpi eth1394 ipw2100 ohci1394 ieee1394 yenta_socket 
| rsrc_nonstatic pcmcia_core ehci_hcd uhci_hcd usbcore
| CPU:    0
| EIP:    0060:[<e19e9391>]    Not tainted VLI
| EFLAGS: 00210203   (2.6.12-rc5-mm2)
| EIP is at asus_hotk_get_info+0x1aa/0x79a [asus_acpi]
| eax: 00000000   ebx: dfe0d000   ecx: 00000002   edx: 00000003
| esi: 00000000   edi: e19fca60   ebp: d7e9c800   esp: dae19ec0
| ds: 007b   es: 007b   ss: 0068
| Process modprobe (pid: 12174, threadinfo=dae18000 task=d13bf0b0)
| Stack: 00000000 00200296 c011c497 00000000 ffffffd8 dfe0d000 00000000 00000000
|        c05a9c88 c011c273 dae19f6c dfc37c3c 00000000 c0294036 00000000 00000000
|        00000000 dae19f54 00200246 0000002b 00000300 0000030c 00000000 00000000
| Call Trace:
|  [<c011c497>] release_console_sem+0xe7/0x110
|  [<c011c273>] vprintk+0x1f3/0x2b0
|  [<c0294036>] sub_alloc+0xb6/0x1b0
|  [<e19e9a3f>] asus_hotk_add+0x8b/0x143 [asus_acpi]
|  [<c02e0f01>] acpi_bus_driver_init+0x29/0x50
|  [<c02e0fbc>] acpi_driver_attach+0x59/0x9d
|  [<e19e9b41>] asus_acpi_init+0x4a/0x72 [asus_acpi]
|  [<c0138212>] sys_init_module+0xc2/0x200
|  [<c01030d7>] sysenter_past_esp+0x54/0x75
| Code: e1 e8 f4 2c 73 de 5e 5f a1 10 eb 9f e1 ba 03 00 00 00 bf 60 ca 9f e1 89 
| d1 c7 40 14 12 00 00 00 8b 45 08 89 04 24 89 c6 49 78 08 <ac> ae 75 08 84 c0 
| 75 f5 31 c0 eb 04 19 c0 0c 01 85 c0 75 11 a1
| 
| 
| If you need further info, please contact me.

What processor (x86) type/configs is your kernel compiled for?

Can you repeat with Magic SysRq enabled (if not already) and
set log level to 9 (echo 9 > /proc/sysrq-trigger or
Alt-SysRq-9).  That should provide more console log info
for us.... then post that log.  (or check your log files,
this log info may already be in some of them)

Thanks,
---
~Randy

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Kernel oops with asus_acpi module
       [not found]     ` <200506062050.42632.mail@hboeck.de>
@ 2005-06-06 20:54       ` randy_dunlap
  2005-06-06 21:32         ` Karol Kozimor
  0 siblings, 1 reply; 11+ messages in thread
From: randy_dunlap @ 2005-06-06 20:54 UTC (permalink / raw)
  To: Hanno Böck, acpi-devel, linux-kernel; +Cc: sziwan, julien.lerouge

(back to mailing lists + asus acpi maintainers)


On Mon, 6 Jun 2005 20:50:42 +0200 Hanno Böck wrote:

| Am Montag, 6. Juni 2005 20:45 schrieben Sie:
| > 2 or 3 things:
| >
| > a.  I can't match that Code line to any code in my
| > compiler asus_acpi.o file.  What version of gcc are you using?
| > Can you send me your asus_acpi.o file?
| 
| Attached.
| I'm using gcc4 (but that's probably not the reason, because matthias hentges, 
| who has a debian-system, has the same problem)

Well, gcc4 does have some known issues with the Linux kernel,
although I don't know the specifics of them.

| >
| > b.  That Code line is different from the first one that you posted.
| > That doesn't make much sense to me....
| 
| Don't know why, but maybe because I recompiled the kernel with 
| debugging-support?

OK, I see that part.

I'm including a patch for you to try.  Can you apply and test it
and report back on it, please?

---

From: Randy Dunlap <rdunlap@xenotime.net>
linux-2612-rc5-mm2

model->string.pointer was NULL, so printk of it caused an oops.

Handle ASUS ACPI string descriptor with 0 length or NULL pointer
by trying the Samsung P30 support code exception handling.

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>

diffstat:=
 drivers/acpi/asus_acpi.c |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletion(-)

diff -Naurp ./drivers/acpi/asus_acpi.c~asus_models ./drivers/acpi/asus_acpi.c
--- ./drivers/acpi/asus_acpi.c~asus_models	2005-03-01 23:37:53.000000000 -0800
+++ ./drivers/acpi/asus_acpi.c	2005-06-06 13:51:40.000000000 -0700
@@ -993,6 +993,7 @@ static int __init asus_hotk_get_info(voi
 	/* Samsung P30 has a device with a valid _HID whose INIT does not 
 	 * return anything. Catch this one and any similar here */
 	if (buffer.pointer == NULL) {
+try_p30:
 		if (asus_info && /* Samsung P30 */
 		    strncmp(asus_info->oem_table_id, "ODEM", 4) == 0) {
 			hotk->model = P30;
@@ -1009,7 +1010,15 @@ static int __init asus_hotk_get_info(voi
 	
 	model = (union acpi_object *) buffer.pointer;
 	if (model->type == ACPI_TYPE_STRING) {
-		printk(KERN_NOTICE "  %s model detected, ", model->string.pointer);
+		if (!model->string.length || !model->string.pointer) {
+			printk(KERN_WARNING "  model string length or pointer "
+				"is 0, trying P30 exceptions (%u, %p)\n",
+				model->string.length, model->string.pointer);
+			goto try_p30;
+		}
+		else
+			printk(KERN_NOTICE "  %s model detected, ",
+				model->string.pointer);
 	}
 
 	hotk->model = END_MODEL;

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Kernel oops with asus_acpi module
  2005-06-06 20:54       ` randy_dunlap
@ 2005-06-06 21:32         ` Karol Kozimor
  2005-06-06 21:47           ` Hanno Böck
  0 siblings, 1 reply; 11+ messages in thread
From: Karol Kozimor @ 2005-06-06 21:32 UTC (permalink / raw)
  To: Hanno Böck; +Cc: randy_dunlap, acpi-devel, linux-kernel, julien.lerouge

Thus wrote randy_dunlap:
> OK, I see that part.
> 
> I'm including a patch for you to try.  Can you apply and test it
> and report back on it, please?

May I see the DSDT? The Samsung P30 INIT method referenced in
asus_hotk_get_info() is not supposed to return anything, not even an empty
string. I believe the new ACPICA implicit return might be interfering. 
Here's the relevant part of what I based the code on:

Method (INIT, 1, NotSerialized)
{
    Store (One, ATKP)
    If (LNot (LLess (PCBV, 0x02)))
    {
        If (And (WBTF, 0x1F))
        {
            Or (WBTF, 0x20, WBTF)
        }

        And (WBTF, 0xE0, WBTF)
    }

    If (And (WBTF, 0x40))
    {
        If (And (WBTF, 0xBF))
        {
            WLED (0x81)
        }
        Else
        {
            WLED (0x80)
        }
    }
    Else
    {
        WLED (0x80)
    }
}

Best regards,

-- 
Karol 'sziwan' Kozimor
sziwan@hell.org.pl

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Kernel oops with asus_acpi module
  2005-06-06 21:32         ` Karol Kozimor
@ 2005-06-06 21:47           ` Hanno Böck
  2005-06-06 22:21             ` [ACPI] " Karol Kozimor
  0 siblings, 1 reply; 11+ messages in thread
From: Hanno Böck @ 2005-06-06 21:47 UTC (permalink / raw)
  To: randy_dunlap, acpi-devel, linux-kernel, julien.lerouge

Am Montag, 6. Juni 2005 23:32 schrieb Karol Kozimor:
> May I see the DSDT? The Samsung P30 INIT method referenced in
> asus_hotk_get_info() is not supposed to return anything, not even an empty
> string. I believe the new ACPICA implicit return might be interfering.
> Here's the relevant part of what I based the code on:

http://www.schokokeks.org/~hanno/dsdt_p30

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [ACPI] Re: Kernel oops with asus_acpi module
  2005-06-06 21:47           ` Hanno Böck
@ 2005-06-06 22:21             ` Karol Kozimor
  2005-06-07 17:46               ` Hanno Böck
  0 siblings, 1 reply; 11+ messages in thread
From: Karol Kozimor @ 2005-06-06 22:21 UTC (permalink / raw)
  To: Hanno Böck; +Cc: randy_dunlap, acpi-devel, linux-kernel, julien.lerouge

Thus wrote Hanno Böck:
> Am Montag, 6. Juni 2005 23:32 schrieb Karol Kozimor:
> > May I see the DSDT? The Samsung P30 INIT method referenced in
> > asus_hotk_get_info() is not supposed to return anything, not even an empty
> > string. I believe the new ACPICA implicit return might be interfering.
> > Here's the relevant part of what I based the code on:

Thanks. This might also help:

--- a/drivers/acpi/asus_acpi.c	2005-04-26 00:38:20.000000000 +0200
+++ b/drivers/acpi/asus_acpi.c	2005-06-07 00:18:17.000000000 +0200
@@ -992,7 +992,7 @@
 
 	/* Samsung P30 has a device with a valid _HID whose INIT does not 
 	 * return anything. Catch this one and any similar here */
-	if (buffer.pointer == NULL) {
+	if (buffer.pointer == NULL || buffer.length == 0) {
 		if (asus_info && /* Samsung P30 */
 		    strncmp(asus_info->oem_table_id, "ODEM", 4) == 0) {
 			hotk->model = P30;

But I'd like to get the full oops with the matching asus_acpi.o file also
(might be off the list).

Best regards,

-- 
Karol 'sziwan' Kozimor
sziwan@hell.org.pl

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [ACPI] Re: Kernel oops with asus_acpi module
  2005-06-06 22:21             ` [ACPI] " Karol Kozimor
@ 2005-06-07 17:46               ` Hanno Böck
  2005-06-07 22:16                 ` randy_dunlap
  2005-06-11 12:19                 ` Karol Kozimor
  0 siblings, 2 replies; 11+ messages in thread
From: Hanno Böck @ 2005-06-07 17:46 UTC (permalink / raw)
  To: randy_dunlap, acpi-devel, linux-kernel, julien.lerouge

Am Dienstag, 7. Juni 2005 00:21 schrieb Karol Kozimor:
> Thanks. This might also help:
Doesn't help (randys fix also didn't).

> But I'd like to get the full oops with the matching asus_acpi.o file also
> (might be off the list).

Can you tell me what a full oops is, how I generate it? Then I can do so (I'm 
not a kernel-dev).

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [ACPI] Re: Kernel oops with asus_acpi module
  2005-06-07 17:46               ` Hanno Böck
@ 2005-06-07 22:16                 ` randy_dunlap
  2005-06-11 12:17                   ` Karol Kozimor
  2005-06-11 12:19                 ` Karol Kozimor
  1 sibling, 1 reply; 11+ messages in thread
From: randy_dunlap @ 2005-06-07 22:16 UTC (permalink / raw)
  To: Hanno Böck; +Cc: acpi-devel, linux-kernel, julien.lerouge

On Tue, 7 Jun 2005 19:46:17 +0200 Hanno Böck wrote:

| Am Dienstag, 7. Juni 2005 00:21 schrieb Karol Kozimor:
| > Thanks. This might also help:
| Doesn't help (randys fix also didn't).

were there any additional kernel log messages?
there should have been.

| > But I'd like to get the full oops with the matching asus_acpi.o file also
| > (might be off the list).

Karol, did you see the beginning of the thread?
http://lkml.org/lkml/2005/6/5/101

| Can you tell me what a full oops is, how I generate it? Then I can do so (I'm 
| not a kernel-dev).


---
~Randy

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [ACPI] Re: Kernel oops with asus_acpi module
  2005-06-07 22:16                 ` randy_dunlap
@ 2005-06-11 12:17                   ` Karol Kozimor
  2005-10-11  9:01                     ` Hanno Böck
  0 siblings, 1 reply; 11+ messages in thread
From: Karol Kozimor @ 2005-06-11 12:17 UTC (permalink / raw)
  To: randy_dunlap; +Cc: Hanno Böck, acpi-devel, linux-kernel, julien.lerouge

Thus wrote randy_dunlap:
> | > But I'd like to get the full oops with the matching asus_acpi.o file also
> | > (might be off the list).
> 
> Karol, did you see the beginning of the thread?
> http://lkml.org/lkml/2005/6/5/101
> 

Yeah, but I didn't get the .o file :)
Please don't trim the Cc: list, or I'll be slow to respond.
Best regards,

-- 
Karol 'sziwan' Kozimor
sziwan@hell.org.pl

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [ACPI] Re: Kernel oops with asus_acpi module
  2005-06-07 17:46               ` Hanno Böck
  2005-06-07 22:16                 ` randy_dunlap
@ 2005-06-11 12:19                 ` Karol Kozimor
  1 sibling, 0 replies; 11+ messages in thread
From: Karol Kozimor @ 2005-06-11 12:19 UTC (permalink / raw)
  To: Hanno Böck; +Cc: randy_dunlap, acpi-devel, linux-kernel, julien.lerouge

Thus wrote Hanno Böck:
> Am Dienstag, 7. Juni 2005 00:21 schrieb Karol Kozimor:
> > Thanks. This might also help:
> Doesn't help (randys fix also didn't).
> 
> > But I'd like to get the full oops with the matching asus_acpi.o file also
> > (might be off the list).
> 
> Can you tell me what a full oops is, how I generate it? Then I can do so (I'm 
> not a kernel-dev).

What I meant was the full log output (which, AFAIK, you did supply) and the
asus_acpi.o file from the kernel build that the specific oops report was
for, which only Randy received, I guess.

Anyway, I'll do a debug patch shortly.

Best regards,

-- 
Karol 'sziwan' Kozimor
sziwan@hell.org.pl

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [ACPI] Re: Kernel oops with asus_acpi module
  2005-06-11 12:17                   ` Karol Kozimor
@ 2005-10-11  9:01                     ` Hanno Böck
  0 siblings, 0 replies; 11+ messages in thread
From: Hanno Böck @ 2005-10-11  9:01 UTC (permalink / raw)
  To: Karol Kozimor; +Cc: randy_dunlap, acpi-devel, linux-kernel, julien.lerouge

[-- Attachment #1: Type: text/plain, Size: 193 bytes --]

There's still no fix for the asus_acpi-crash in 2.6.14_rc4.
Will this be sorted out before 2.6.14?

-- 
Hanno Böck		Blog:   http://www.hboeck.de/
GPG: 3DBD3B20		Jabber: jabber@hboeck.de

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2005-10-11  9:02 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-06-05 21:40 Kernel oops with asus_acpi module Hanno Böck
2005-06-06 16:50 ` randy_dunlap
     [not found] ` <200506061929.24663.mail@hboeck.de>
     [not found]   ` <20050606114531.763eec37.rdunlap@xenotime.net>
     [not found]     ` <200506062050.42632.mail@hboeck.de>
2005-06-06 20:54       ` randy_dunlap
2005-06-06 21:32         ` Karol Kozimor
2005-06-06 21:47           ` Hanno Böck
2005-06-06 22:21             ` [ACPI] " Karol Kozimor
2005-06-07 17:46               ` Hanno Böck
2005-06-07 22:16                 ` randy_dunlap
2005-06-11 12:17                   ` Karol Kozimor
2005-10-11  9:01                     ` Hanno Böck
2005-06-11 12:19                 ` Karol Kozimor

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox