From owner-freebsd-i386@FreeBSD.ORG Mon Nov 1 13:00:41 2004 Return-Path: Delivered-To: freebsd-i386@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1300A16A4D0 for ; Mon, 1 Nov 2004 13:00:41 +0000 (GMT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id EF9D143D48 for ; Mon, 1 Nov 2004 13:00:40 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.11/8.12.11) with ESMTP id iA1D0e0J010363 for ; Mon, 1 Nov 2004 13:00:40 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.11/8.12.11/Submit) id iA1D0eJS010361; Mon, 1 Nov 2004 13:00:40 GMT (envelope-from gnats) Resent-Date: Mon, 1 Nov 2004 13:00:40 GMT Resent-Message-Id: <200411011300.iA1D0eJS010361@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-i386@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Sebastian Schulze Struchtrup Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3080916A4CE; Mon, 1 Nov 2004 12:59:26 +0000 (GMT) Received: from mail.struchtrup.de (mail.struchtrup.de [80.190.247.172]) by mx1.FreeBSD.org (Postfix) with ESMTP id 91D6143D31; Mon, 1 Nov 2004 12:59:21 +0000 (GMT) (envelope-from seb@struchtrup.com) Received: from p5087c910.dip0.t-ipconnect.de ([80.135.201.16] helo=notebook.intranet.struchtrup.com) by mail.struchtrup.de with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.42 (FreeBSD)) id 1CObmB-00044Y-MT; Mon, 01 Nov 2004 12:59:11 +0000 Received: from seb by notebook.intranet.struchtrup.com with local (Exim 4.43 (FreeBSD)) id 1CObmK-000D37-02; Mon, 01 Nov 2004 13:59:20 +0100 Message-Id: Date: Mon, 01 Nov 2004 13:59:20 +0100 From: Sebastian Schulze Struchtrup To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 cc: acpi@FreeBSD.org cc: philip@FreeBSD.org Subject: i386/73380: [patch] kldload acpi_asus.ko causes page fault on Samsung P35 X-BeenThere: freebsd-i386@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Sebastian Schulze Struchtrup List-Id: I386-specific issues for FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Nov 2004 13:00:41 -0000 >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: