]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - releases/2.6.25.8/acpica-ignore-acpi-table-signature-for-load-operator.patch
Linux 2.6.25.8
[thirdparty/kernel/stable-queue.git] / releases / 2.6.25.8 / acpica-ignore-acpi-table-signature-for-load-operator.patch
CommitLineData
cd378b7b
GKH
1From stable-bounces@linux.kernel.org Wed Jun 18 20:12:08 2008
2From: Bob Moore <robert.moore@intel.com>
3Date: Wed, 18 Jun 2008 22:11:31 -0400 (EDT)
4Subject: ACPICA: Ignore ACPI table signature for Load() operator
5To: stable@kernel.org
6Cc: linux-acpi@vger.kernel.org
7Message-ID: <alpine.LFD.1.10.0806182151270.3074@localhost.localdomain>
8
9
10From: Bob Moore <robert.moore@intel.com>
11
12upstream bc45b1d39a925b56796bebf8a397a0491489d85c
13
14Without this patch booting with acpi_osi="!Windows 2006" is required
15for several machines to function properly with cpufreq
16due to failure to load a Vista specific table with a bad signature.
17
18Only "SSDT" is acceptable to the ACPI spec, but tables are
19seen with OEMx and null sigs. Therefore, signature validation
20is worthless. Apparently MS ACPI accepts such signatures, ACPICA
21must be compatible.
22
23http://bugzilla.kernel.org/show_bug.cgi?id=9919
24http://bugzilla.kernel.org/show_bug.cgi?id=10383
25http://bugzilla.kernel.org/show_bug.cgi?id=10454
26https://bugzilla.novell.com/show_bug.cgi?id=396311
27
28Signed-off-by: Bob Moore <robert.moore@intel.com>
29Signed-off-by: Lin Ming <ming.m.lin@intel.com>
30Signed-off-by: Len Brown <len.brown@intel.com>
31Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
32
33---
34 drivers/acpi/tables/tbinstal.c | 18 +++++++-----------
35 1 file changed, 7 insertions(+), 11 deletions(-)
36
37--- a/drivers/acpi/tables/tbinstal.c
38+++ b/drivers/acpi/tables/tbinstal.c
39@@ -123,17 +123,13 @@ acpi_tb_add_table(struct acpi_table_desc
40 }
41 }
42
43- /* The table must be either an SSDT or a PSDT or an OEMx */
44-
45- if ((!ACPI_COMPARE_NAME(table_desc->pointer->signature, ACPI_SIG_PSDT))
46- &&
47- (!ACPI_COMPARE_NAME(table_desc->pointer->signature, ACPI_SIG_SSDT))
48- && (strncmp(table_desc->pointer->signature, "OEM", 3))) {
49- ACPI_ERROR((AE_INFO,
50- "Table has invalid signature [%4.4s], must be SSDT, PSDT or OEMx",
51- table_desc->pointer->signature));
52- return_ACPI_STATUS(AE_BAD_SIGNATURE);
53- }
54+ /*
55+ * Originally, we checked the table signature for "SSDT" or "PSDT" here.
56+ * Next, we added support for OEMx tables, signature "OEM".
57+ * Valid tables were encountered with a null signature, so we've just
58+ * given up on validating the signature, since it seems to be a waste
59+ * of code. The original code was removed (05/2008).
60+ */
61
62 (void)acpi_ut_acquire_mutex(ACPI_MTX_TABLES);
63