diff options
author | Len Brown <len.brown@intel.com> | 2007-04-29 05:19:25 +0200 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2007-04-29 05:19:25 +0200 |
commit | aac60c11132d7ab0776cf036ac9fd6113a210859 (patch) | |
tree | d25a807354b464ce8e5d4ef67666083051a48517 /drivers/acpi | |
parent | Pull sbs into release branch (diff) | |
parent | ACPICA: clear fields reserved before FADT r3 (diff) | |
download | linux-aac60c11132d7ab0776cf036ac9fd6113a210859.tar.xz linux-aac60c11132d7ab0776cf036ac9fd6113a210859.zip |
Pull bugzilla-8346 into release branch
Diffstat (limited to 'drivers/acpi')
-rw-r--r-- | drivers/acpi/tables/tbfadt.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/acpi/tables/tbfadt.c b/drivers/acpi/tables/tbfadt.c index 807c7116e94b..1db833eb2417 100644 --- a/drivers/acpi/tables/tbfadt.c +++ b/drivers/acpi/tables/tbfadt.c @@ -347,6 +347,18 @@ static void acpi_tb_convert_fadt(void) acpi_gbl_xpm1b_enable.space_id = acpi_gbl_FADT.xpm1a_event_block.space_id; } + + /* + * For ACPI 1.0 FADTs, ensure that reserved fields (which should be zero) + * are indeed zero. This will workaround BIOSs that inadvertently placed + * values in these fields. + */ + if (acpi_gbl_FADT.header.revision < 3) { + acpi_gbl_FADT.preferred_profile = 0; + acpi_gbl_FADT.pstate_control = 0; + acpi_gbl_FADT.cst_control = 0; + acpi_gbl_FADT.boot_flags = 0; + } } /****************************************************************************** |