Kevin Radloff <[EMAIL PROTECTED]> wrote: > > Previously, I had said that in 2.6.13-rc3, C2/C3 capabilities were not > detected on my Fujitsu Lifebook P7010D. I found that in the merge at: > > http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blobdiff;h=893b074e3d1a48a4390cf84b4c1a10ef6be2460c;hp=c9d671cf7857dbc7101e99d469fa24eed711ac60;hb=5028770a42e7bc4d15791a44c28f0ad539323807;f=drivers/acpi/processor_idle.c > > .. in the section at (please forgive my destruction of the formatting) ... > > @@ -787,10 +843,7 @@ static int acpi_processor_get_power_info > if ((result) || (acpi_processor_power_verify(pr) < 2)) { > result = acpi_processor_get_power_info_fadt(pr); > if (result) > - return_VALUE(result); > - > - if (acpi_processor_power_verify(pr) < 2) > - return_VALUE(-ENODEV); > + result = acpi_processor_get_power_info_default_c1(pr); > } > > .. a call to acpi_processor_power_verify() is removed, which breaks > detection of C2/C3 capabilities if the above > acpi_processor_get_power_info_cst() failed. It it had succeeded (and > returned 0), then acpi_processor_power_verify() is called in the > conditional statement, which will set the valid flags for C2/C3. But > if it fails, like on my laptop, then the valid flags will never be > set, despite the fact that the acpi_processor_get_power_info_fadt() > function finds the necessary info for a subsequent > acpi_processor_power_verify() call to succeed. > > I don't know what exactly the proper fix here is (with the > introduction of the acpi_processor_get_power_info_default_c1() > function, that is), but simply reversing this part of the patch fixes > detection of C2/C3 on my laptop. >
Len, Kevin confirms that the below patch fixes the above regression for him. Should we merge it now? From: Jindrich Makovicka <[EMAIL PROTECTED]> Re-enable C2/C3 states for systems without CST. Fixes a regression after the patch for C2/C3 support for multiprocessors (http://bugme.osdl.org/show_bug.cgi?id=4401), which accidentally removed the acpi_processor_power_verify() call. Signed-off-by: Jindrich Makovicka <[EMAIL PROTECTED]> Cc: "Brown, Len" <[EMAIL PROTECTED]> Signed-off-by: Andrew Morton <[EMAIL PROTECTED]> --- drivers/acpi/processor_idle.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN drivers/acpi/processor_idle.c~acpi-re-enable-c2-c3-cpu-states-for-systems-without drivers/acpi/processor_idle.c --- devel/drivers/acpi/processor_idle.c~acpi-re-enable-c2-c3-cpu-states-for-systems-without 2005-07-14 15:53:47.000000000 -0700 +++ devel-akpm/drivers/acpi/processor_idle.c 2005-07-14 15:53:47.000000000 -0700 @@ -881,7 +881,7 @@ static int acpi_processor_get_power_info result = acpi_processor_get_power_info_cst(pr); if ((result) || (acpi_processor_power_verify(pr) < 2)) { result = acpi_processor_get_power_info_fadt(pr); - if (result) + if ((result) || acpi_processor_power_verify(pr) < 2) result = acpi_processor_get_power_info_default_c1(pr); } _ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/