From patchwork Tue Nov 2 03:18:51 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Len Brown X-Patchwork-Id: 296572 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter1.kernel.org (8.14.4/8.14.3) with ESMTP id oA23JEK4011005 for ; Tue, 2 Nov 2010 03:19:15 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755369Ab0KBDTL (ORCPT ); Mon, 1 Nov 2010 23:19:11 -0400 Received: from vms173001pub.verizon.net ([206.46.173.1]:44365 "EHLO vms173001pub.verizon.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751685Ab0KBDTK (ORCPT ); Mon, 1 Nov 2010 23:19:10 -0400 Received: from localhost.localdomain ([unknown] [74.104.161.234]) by vms173001.mailsrvcs.net (Sun Java(tm) System Messaging Server 7u2-7.02 32bit (built Apr 16 2009)) with ESMTPA id <0LB8000RUMJH8HH2@vms173001.mailsrvcs.net> for linux-acpi@vger.kernel.org; Mon, 01 Nov 2010 22:18:54 -0500 (CDT) Received: from localhost.localdomain (x980 [127.0.0.1]) by localhost.localdomain (8.14.4/8.14.4) with ESMTP id oA23IpT0016720; Mon, 01 Nov 2010 23:18:52 -0400 Received: from localhost (lenb@localhost) by localhost.localdomain (8.14.4/8.14.4/Submit) with ESMTP id oA23Ipwt016715; Mon, 01 Nov 2010 23:18:51 -0400 X-Authentication-warning: localhost.localdomain: lenb owned process doing -bs Date: Mon, 01 Nov 2010 23:18:51 -0400 (EDT) From: Len Brown X-X-Sender: lenb@localhost.localdomain To: stable@kernel.org Cc: linux-acpi@vger.kernel.org Subject: [PATCH 2.6.35.stable] ACPI: install ACPI table handler before any dynamic tables being loaded In-reply-to: Message-id: References: User-Agent: Alpine 2.00 (LFD 1167 2008-08-23) MIME-version: 1.0 Content-type: TEXT/PLAIN; charset=US-ASCII Sender: linux-acpi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter1.kernel.org [140.211.167.41]); Tue, 02 Nov 2010 03:19:15 +0000 (UTC) Index: linux-2.6.35.y/drivers/acpi/bus.c =================================================================== --- linux-2.6.35.y.orig/drivers/acpi/bus.c +++ linux-2.6.35.y/drivers/acpi/bus.c @@ -935,6 +935,12 @@ static int __init acpi_bus_init(void) goto error1; } + /* + * _PDC control method may load dynamic SSDT tables, + * and we need to install the table handler before that. + */ + acpi_system_sysfs_init(); + acpi_early_processor_set_pdc(); /* Index: linux-2.6.35.y/drivers/acpi/internal.h =================================================================== --- linux-2.6.35.y.orig/drivers/acpi/internal.h +++ linux-2.6.35.y/drivers/acpi/internal.h @@ -23,6 +23,7 @@ int init_acpi_device_notify(void); int acpi_scan_init(void); int acpi_system_init(void); +int acpi_system_sysfs_init(void); #ifdef CONFIG_ACPI_DEBUG int acpi_debug_init(void); Index: linux-2.6.35.y/drivers/acpi/system.c =================================================================== --- linux-2.6.35.y.orig/drivers/acpi/system.c +++ linux-2.6.35.y/drivers/acpi/system.c @@ -164,7 +164,7 @@ acpi_sysfs_table_handler(u32 event, void return AE_OK; } -static int acpi_system_sysfs_init(void) +int __init acpi_system_sysfs_init(void) { struct acpi_table_attr *table_attr; struct acpi_table_header *table_header = NULL; @@ -627,13 +627,6 @@ static int acpi_system_procfs_init(void) int __init acpi_system_init(void) { - int result; - - result = acpi_system_procfs_init(); - if (result) - return result; - - result = acpi_system_sysfs_init(); - - return result; + return acpi_system_procfs_init(); } +