diff options
author | Bob Moore <robert.moore@intel.com> | 2011-02-14 15:50:42 +0800 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2011-03-02 19:38:03 -0500 |
commit | 64b3db22c04586997ab4be46dd5a5b99f8a2d390 (patch) | |
tree | e0642436efe91c824d84383cba3e8fc906c4a2d0 /drivers/acpi | |
parent | 6dfad339645247c9deb553e4d68e21211ddc61bd (diff) |
ACPICA: Remove use of unreliable FADT revision field
The revision number in the FADT has been found to be completely
unreliable and cannot be trusted. Only the table length can be
used to infer the actual version.
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>
Diffstat (limited to 'drivers/acpi')
-rw-r--r-- | drivers/acpi/acpica/tbfadt.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/acpi/acpica/tbfadt.c b/drivers/acpi/acpica/tbfadt.c index 428d44e2d16..6f5588e62c0 100644 --- a/drivers/acpi/acpica/tbfadt.c +++ b/drivers/acpi/acpica/tbfadt.c @@ -384,8 +384,11 @@ static void acpi_tb_convert_fadt(void) * * The ACPI 1.0 reserved fields that will be zeroed are the bytes located at * offset 45, 55, 95, and the word located at offset 109, 110. + * + * Note: The FADT revision value is unreliable. Only the length can be + * trusted. */ - if (acpi_gbl_FADT.header.revision < FADT2_REVISION_ID) { + if (acpi_gbl_FADT.header.length <= ACPI_FADT_V2_SIZE) { acpi_gbl_FADT.preferred_profile = 0; acpi_gbl_FADT.pstate_control = 0; acpi_gbl_FADT.cst_control = 0; |