Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 01 Nov 2004 13:59:20 +0100
From:      Sebastian Schulze Struchtrup <seb@struchtrup.com>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        philip@FreeBSD.org
Subject:   i386/73380: [patch] kldload acpi_asus.ko causes page fault on Samsung P35
Message-ID:  <E1CObmK-000D37-02@notebook.intranet.struchtrup.com>
Resent-Message-ID: <200411011300.iA1D0eJS010361@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         73380
>Category:       i386
>Synopsis:       [patch] kldload acpi_asus.ko causes page fault on Samsung P35
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-i386
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Nov 01 13:00:40 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator:     Sebastian Schulze Struchtrup
>Release:        FreeBSD 5.3-RC2 i386
>Organization:
>Environment:
System: FreeBSD notebook.intranet.struchtrup.com 5.3-RC2 FreeBSD 5.3-RC2 #6: Sun Oct 31 19:22:38 CET 2004 seb@notebook.intranet.struchtrup.com:/usr/obj/usr/src/sys/notebook i386
>Description:
The Samsung P30/P35 notebooks have an Asus ATK device.
But on ATK Init, they return a null pointer instead of a model identification.
This results in a page fault in acpi_asus_probe (strcmp againt null pointer)
The linux acpi4asus identifies them by an "ODEM" string as their DSDT Oem Table ID.

>How-To-Repeat:
>Fix:
I have modified the acpi_asus_probe function to identify the notebook via the "ODEM" string.
We have to see if this will work in the future or if there are other notebooks with the same string which require different handling.
At least the linux acpi4asus seems to work without problems with this approach.

Addionally, I have splitted the acpi_asus_models struct and added an extra struct acpi_asus_extra_models.
The first contains the models which are identified by their model identification (inside the for loop),
the second one contains models identified in another way  (currently, only the Samsung P30/35).
The enum acpi_asus_extra_models_idx holds their indices.

I have also introduced a longname attribute in both tables, which contains the full name including Manufacturer.
This is only used for correctly setting/printing driver information.


Switching WLAN on/off and reporting events to devd with various special keys and Fn-key combinations works fine.

This patch should not break anything, but I was not able to test it with a real Asus notebook.
Someone should do this before committing

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E1CObmK-000D37-02>