]> git.baikalelectronics.ru Git - kernel.git/commit
ACPI processor: force throttling state when BIOS returns incorrect value
authorFrans Pop <elendil@planet.nl>
Wed, 26 Aug 2009 21:29:29 +0000 (14:29 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 27 Aug 2009 03:06:53 +0000 (20:06 -0700)
commita9a5e819ad4828d5b20998a1c4adf2a9f1c50be3
treee525ac0c224091b1d71ffa9aec4c4f39c8223c62
parent6644ef1b05ffca0819f8c5d0838b2cc1a0bed9e8
ACPI processor: force throttling state when BIOS returns incorrect value

If the BIOS reports an invalid throttling state (which seems to be
fairly common after system boot), a reset is done to state T0.
Because of a check in acpi_processor_get_throttling_ptc(), the reset
never actually gets executed, which results in the error reoccurring
on every access of for example /proc/acpi/processor/CPU0/throttling.

Add a 'force' option to acpi_processor_set_throttling() to ensure
the reset really takes effect.

Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13389

This patch, together with the next one, fixes a regression introduced in
2.6.30, listed on the regression list. They have been available for 2.5
months now in bugzilla, but have not been picked up, despite various
reminders and without any reason given.

Google shows that numerous people are hitting this issue. The issue is in
itself relatively minor, but the bug in the code is clear.

The patches have been in all my kernels and today testing has shown that
throttling works correctly with the patches applied when the system
overheats (http://bugzilla.kernel.org/show_bug.cgi?id=13918#c14).

Signed-off-by: Frans Pop <elendil@planet.nl>
Acked-by: Zhang Rui <rui.zhang@intel.com>
Cc: Len Brown <lenb@kernel.org>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/acpi/processor_thermal.c
drivers/acpi/processor_throttling.c
include/acpi/processor.h