aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVenkatesh Pallipadi <venkatesh.pallipadi@intel.com>2005-09-15 12:19:00 -0400
committerLen Brown <len.brown@intel.com>2005-11-30 03:23:06 -0500
commit6d93c64803a5fea84839789aae13290419c62d92 (patch)
tree5f3e1391e17d44cd61fcd8d628d8f33880fcd15e
parentd2ef5ebb4c4fe141a82252d4db8d8521e6765c5a (diff)
downloadlinux-6d93c64803a5fea84839789aae13290419c62d92.tar.gz
[ACPI] Prefer _CST over FADT for C-state capabilities
Note: This ACPI standard compliance may cause regression on some system, if they have _CST present, but _CST value is bogus. "nocst" module parameter should workaround that regression. http://bugzilla.kernel.org/show_bug.cgi?id=5165 Signed-off-by: Venkatesh Pallipadi<venkatesh.pallipadi@intel.com> Signed-off-by: Len Brown <len.brown@intel.com> (cherry picked from 883baf7f7e81cca26f4683ae0d25ba48f094cc08 commit)
-rw-r--r--drivers/acpi/processor_idle.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
index 70d8a6ec0920f1..5b6a9865300e94 100644
--- a/drivers/acpi/processor_idle.c
+++ b/drivers/acpi/processor_idle.c
@@ -690,7 +690,7 @@ static int acpi_processor_get_power_info_cst(struct acpi_processor *pr)
/* Validate number of power states discovered */
if (pr->power.count < 2)
- status = -ENODEV;
+ status = -EFAULT;
end:
acpi_os_free(buffer.pointer);
@@ -841,11 +841,11 @@ static int acpi_processor_get_power_info(struct acpi_processor *pr)
* this function */
result = acpi_processor_get_power_info_cst(pr);
- if ((result) || (acpi_processor_power_verify(pr) < 2)) {
+ if (result == -ENODEV)
result = acpi_processor_get_power_info_fadt(pr);
- if ((result) || (acpi_processor_power_verify(pr) < 2))
- result = acpi_processor_get_power_info_default_c1(pr);
- }
+
+ if ((result) || (acpi_processor_power_verify(pr) < 2))
+ result = acpi_processor_get_power_info_default_c1(pr);
/*
* Set Default Policy