1
linux/drivers/acpi
Frans Pop 2a908002c7 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>
2009-08-26 20:06:53 -07:00
..
acpica Revert "ACPICA: Remove obsolete acpi_os_validate_address interface" 2009-07-27 18:42:38 -04:00
ac.c ACPI: ac: use .notify method instead of installing handler directly 2009-06-18 00:13:14 -04:00
acpi_memhotplug.c ACPI: Ingore the memory block with zero block size in course of memory hotplug 2009-08-02 12:25:12 -04:00
battery.c ACPI: battery: fix CONFIG_ACPI_PROCFS_POWER=n build warning 2009-06-18 00:38:27 -04:00
blacklist.c ACPI: DMI to disable Vista compatibility on some Sony laptops 2009-06-23 23:32:47 -04:00
bus.c ACPI: use handle, not device, in system notification path 2009-06-18 00:13:15 -04:00
button.c ACPI: button: remove control method/fixed hardware distinctions 2009-04-11 00:36:41 -04:00
cm_sbs.c
container.c
debug.c Merge branch 'acpi-modparam' into release 2009-04-05 01:45:50 -04:00
dock.c Merge branch 'linus' into release 2009-04-05 02:14:15 -04:00
ec.c ACPI: EC: Fix ACPI EC resume non-query interrupt message 2009-04-23 23:56:57 -04:00
event.c
fan.c Merge branch 'linus' into release 2009-04-05 02:14:15 -04:00
glue.c ACPI: kill acpi_get_physical_pci_device() 2009-06-17 23:32:24 -04:00
internal.h ACPI: call acpi_wakeup_device_init() explicitly rather than as initcall 2009-03-27 12:51:31 -04:00
Kconfig PCI: drivers/pci/slot.c should depend on CONFIG_SYSFS 2009-06-18 13:57:24 -07:00
Makefile Merge branch 'async-battery' into release 2009-04-05 01:48:46 -04:00
numa.c x86, ACPI: add support for x2apic ACPI extensions 2009-04-03 20:08:12 -04:00
osl.c ACPI: bind workqueues to CPU 0 to avoid SMI corruption 2009-08-02 12:08:50 -04:00
pci_bind.c ACPI: kill acpi_get_pci_id 2009-06-17 23:32:23 -04:00
pci_irq.c Merge branches 'acerhdf', 'acpi-pci-bind', 'bjorn-pci-root', 'bugzilla-12904', 'bugzilla-13121', 'bugzilla-13396', 'bugzilla-13533', 'bugzilla-13612', 'c3_lock', 'hid-cleanups', 'misc-2.6.31', 'pdc-leak-fix', 'pnpacpi', 'power_nocheck', 'thinkpad_acpi', 'video' and 'wmi' into release 2009-06-24 01:19:50 -04:00
pci_link.c
pci_root.c ACPI: video: prevent NULL deref in acpi_get_pci_dev() 2009-06-26 00:23:42 -04:00
pci_slot.c PCI: pci_slot: grab refcount on slot's bus 2009-04-06 11:31:14 -07:00
power.c ACPI: don't check power state after _ON/_OFF 2009-05-27 21:45:53 -04:00
proc.c ACPI: convert acpi_device_lock spinlock to mutex 2009-04-07 00:02:40 -04:00
processor_core.c acpi: don't call acpi_processor_init if acpi is disabled 2009-08-26 20:06:52 -07:00
processor_idle.c clockevent: Prevent dead lock on clockevents_lock 2009-08-19 18:15:10 +02:00
processor_perflib.c ACPI: sanity check _PSS frequency to prevent cpufreq crash 2009-05-29 20:45:58 -04:00
processor_thermal.c ACPI processor: force throttling state when BIOS returns incorrect value 2009-08-26 20:06:53 -07:00
processor_throttling.c ACPI processor: force throttling state when BIOS returns incorrect value 2009-08-26 20:06:53 -07:00
reboot.c
sbs.c Merge branch 'linus' into release 2009-04-05 02:14:15 -04:00
sbshc.c
sbshc.h
scan.c Merge branches 'acerhdf', 'acpi-pci-bind', 'bjorn-pci-root', 'bugzilla-12904', 'bugzilla-13121', 'bugzilla-13396', 'bugzilla-13533', 'bugzilla-13612', 'c3_lock', 'hid-cleanups', 'misc-2.6.31', 'pdc-leak-fix', 'pnpacpi', 'power_nocheck', 'thinkpad_acpi', 'video' and 'wmi' into release 2009-06-24 01:19:50 -04:00
sleep.c PM / ACPI: HP G7000 Notebook needs a SCI_EN resume quirk 2009-07-29 21:07:47 +02:00
sleep.h ACPI: convert acpi_device_lock spinlock to mutex 2009-04-07 00:02:40 -04:00
system.c ACPI: root-only read protection on /sys/firmware/acpi/tables/* 2009-08-02 11:26:43 -04:00
tables.c Merge branch 'linus' into release 2009-04-05 02:14:15 -04:00
thermal.c thermal: Fix polling frequency for systems without passive cooling 2009-04-18 01:05:23 -04:00
utils.c
video_detect.c ACPI: video: convert to acpi_get_pci_dev 2009-06-17 23:32:23 -04:00
video.c Merge branches 'acerhdf', 'acpi-pci-bind', 'bjorn-pci-root', 'bugzilla-12904', 'bugzilla-13121', 'bugzilla-13396', 'bugzilla-13533', 'bugzilla-13612', 'c3_lock', 'hid-cleanups', 'misc-2.6.31', 'pdc-leak-fix', 'pnpacpi', 'power_nocheck', 'thinkpad_acpi', 'video' and 'wmi' into release 2009-06-24 01:19:50 -04:00
wakeup.c ACPI: convert acpi_device_lock spinlock to mutex 2009-04-07 00:02:40 -04:00