diff options
author | Darrick J. Wong <djwong@us.ibm.com> | 2006-10-20 02:28:28 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-20 13:26:37 -0400 |
commit | c5a114f1fb2d3c54be62779a705e088471063b47 (patch) | |
tree | f3eff245cf2a8ea3d829d59fb5237b07f00830ce /drivers/acpi | |
parent | 74e8b51d254865b8abe4a94b5eb82b1940ec820c (diff) |
[PATCH] fix "ACPI: Processor native C-states using MWAIT"
This patch breaks C-state discovery on my IBM IntelliStation Z30 because
the return value of acpi_processor_get_power_info_fadt is not assigned to
"result" in the case that acpi_processor_get_power_info_cst returns
-ENODEV. Thus, if ACPI provides C-state data via the FADT and not _CST (as
is the case on this machine), we incorrectly exit the function with -ENODEV
after reading the FADT. The attached patch sets the value of result so
that we don't exit early.
Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Acked-by: "Pallipadi, Venkatesh" <venkatesh.pallipadi@intel.com>
Acked-by: "Brown, Len" <len.brown@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/acpi')
-rw-r--r-- | drivers/acpi/processor_idle.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c index e67144cf3c8b..65b3f056ad89 100644 --- a/drivers/acpi/processor_idle.c +++ b/drivers/acpi/processor_idle.c | |||
@@ -962,7 +962,7 @@ static int acpi_processor_get_power_info(struct acpi_processor *pr) | |||
962 | 962 | ||
963 | result = acpi_processor_get_power_info_cst(pr); | 963 | result = acpi_processor_get_power_info_cst(pr); |
964 | if (result == -ENODEV) | 964 | if (result == -ENODEV) |
965 | acpi_processor_get_power_info_fadt(pr); | 965 | result = acpi_processor_get_power_info_fadt(pr); |
966 | 966 | ||
967 | if (result) | 967 | if (result) |
968 | return result; | 968 | return result; |