--- /dev/null
+From stable-bounces@linux.kernel.org Wed Jun 18 20:12:08 2008
+From: Bob Moore <robert.moore@intel.com>
+Date: Wed, 18 Jun 2008 22:11:31 -0400 (EDT)
+Subject: ACPICA: Ignore ACPI table signature for Load() operator
+To: stable@kernel.org
+Cc: linux-acpi@vger.kernel.org
+Message-ID: <alpine.LFD.1.10.0806182151270.3074@localhost.localdomain>
+
+
+From: Bob Moore <robert.moore@intel.com>
+
+upstream bc45b1d39a925b56796bebf8a397a0491489d85c
+
+Without this patch booting with acpi_osi="!Windows 2006" is required
+for several machines to function properly with cpufreq
+due to failure to load a Vista specific table with a bad signature.
+
+Only "SSDT" is acceptable to the ACPI spec, but tables are
+seen with OEMx and null sigs. Therefore, signature validation
+is worthless. Apparently MS ACPI accepts such signatures, ACPICA
+must be compatible.
+
+http://bugzilla.kernel.org/show_bug.cgi?id=9919
+http://bugzilla.kernel.org/show_bug.cgi?id=10383
+http://bugzilla.kernel.org/show_bug.cgi?id=10454
+https://bugzilla.novell.com/show_bug.cgi?id=396311
+
+Signed-off-by: Bob Moore <robert.moore@intel.com>
+Signed-off-by: Lin Ming <ming.m.lin@intel.com>
+Signed-off-by: Len Brown <len.brown@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/acpi/tables/tbinstal.c | 18 +++++++-----------
+ 1 file changed, 7 insertions(+), 11 deletions(-)
+
+--- a/drivers/acpi/tables/tbinstal.c
++++ b/drivers/acpi/tables/tbinstal.c
+@@ -123,17 +123,13 @@ acpi_tb_add_table(struct acpi_table_desc
+ }
+ }
+
+- /* The table must be either an SSDT or a PSDT or an OEMx */
+-
+- if ((!ACPI_COMPARE_NAME(table_desc->pointer->signature, ACPI_SIG_PSDT))
+- &&
+- (!ACPI_COMPARE_NAME(table_desc->pointer->signature, ACPI_SIG_SSDT))
+- && (strncmp(table_desc->pointer->signature, "OEM", 3))) {
+- ACPI_ERROR((AE_INFO,
+- "Table has invalid signature [%4.4s], must be SSDT, PSDT or OEMx",
+- table_desc->pointer->signature));
+- return_ACPI_STATUS(AE_BAD_SIGNATURE);
+- }
++ /*
++ * Originally, we checked the table signature for "SSDT" or "PSDT" here.
++ * Next, we added support for OEMx tables, signature "OEM".
++ * Valid tables were encountered with a null signature, so we've just
++ * given up on validating the signature, since it seems to be a waste
++ * of code. The original code was removed (05/2008).
++ */
+
+ (void)acpi_ut_acquire_mutex(ACPI_MTX_TABLES);
+