Re: ACPI: Processor native C-states using MWAIT

From: Darrick J. Wong
Date: Tue Oct 17 2006 - 19:19:38 EST


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@xxxxxxxxxx>

--

diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
index 526387d..5c118cb 100644
--- a/drivers/acpi/processor_idle.c
+++ b/drivers/acpi/processor_idle.c
@@ -962,7 +962,7 @@ static int acpi_processor_get_power_info

result = acpi_processor_get_power_info_cst(pr);
if (result == -ENODEV)
- acpi_processor_get_power_info_fadt(pr);
+ result = acpi_processor_get_power_info_fadt(pr);

if (result)
return result;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/