linux/drivers/acpi
Rafael J. Wysocki f6bb13aa1e ACPI / EC / PM: Close race between EC and resume from hibernation
There is a race between resume from hibernation and the EC driver
that may result in restoring the hibernation image in the middle of
an EC transaction in progress, which in turn may lead to
unpredictable behavior of the platform.

To remove that race condition, add a helpers for suspending and
resuming EC transactions in a safe way to be executed by the ACPI
platform hibernate pre-restore and restore cleanup callbacks.

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

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Reported-and-tested-by: Maxim Levitsky <maximlevitsky@gmail.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2010-03-08 14:15:51 -05:00
..
acpica Merge branch 'acpica' into release 2009-12-15 22:27:39 -05:00
ac.c ACPI: add AC/DC notifier 2009-10-06 13:55:56 -04:00
acpi_memhotplug.c ACPICA: Add post-order callback to acpi_walk_namespace 2009-11-24 21:31:10 -05:00
acpi_pad.c Merge branch 'acpi-pad' into release 2010-01-20 01:14:30 -05:00
battery.c battery: fix typo in comment 2009-12-16 00:07:21 -05:00
blacklist.c ACPI: disable _OSI(Windows 2009) on Asus K50IJ 2009-12-22 02:39:24 -05:00
bus.c ACPI: Advertise to BIOS in _OSC: _OST on _PPC changes 2010-01-15 23:05:00 -05:00
button.c ACPI: Use the return result of ACPI lid notifier chain correctly 2009-12-16 01:12:35 -05:00
cm_sbs.c ACPI: Move definition of PREFIX from acpi_bus.h to internal..h 2009-08-28 19:57:27 -04:00
container.c ACPICA: Add post-order callback to acpi_walk_namespace 2009-11-24 21:31:10 -05:00
debug.c ACPI: add kernel tainting after overriding an ACPI control method 2009-12-15 22:52:19 -05:00
dock.c ACPI: dock: properly initialize local struct dock_station in dock_add() 2010-02-16 03:54:28 -05:00
ec.c ACPI / EC / PM: Close race between EC and resume from hibernation 2010-03-08 14:15:51 -05:00
event.c ACPI: Move definition of PREFIX from acpi_bus.h to internal..h 2009-08-28 19:57:27 -04:00
fan.c ACPI: Remove repeated registered as cooling_device messages 2009-12-16 00:07:10 -05:00
glue.c ACPICA: Add post-order callback to acpi_walk_namespace 2009-11-24 21:31:10 -05:00
hest.c PCI: PCIe AER: honor ACPI HEST FIRMWARE FIRST mode 2009-11-04 13:06:25 -08:00
internal.h ACPI / EC / PM: Close race between EC and resume from hibernation 2010-03-08 14:15:51 -05:00
Kconfig ACPI: Kconfig, fix proc aggregator text 2009-10-09 13:14:51 -04:00
Makefile ACPI: processor: call _PDC early 2009-12-22 03:24:08 -05:00
numa.c Merge branch 'misc-2.6.33' into release 2009-12-16 14:22:32 -05:00
osl.c ACPI: add const to acpi_check_resource_conflict() 2009-12-09 14:44:42 -05:00
pci_bind.c ACPI: kill acpi_get_pci_id 2009-06-17 23:32:23 -04:00
pci_irq.c ACPI: Move definition of PREFIX from acpi_bus.h to internal..h 2009-08-28 19:57:27 -04:00
pci_link.c acpi: make ACPI device id constant 2010-01-16 15:56:43 -05:00
pci_root.c acpi: make ACPI device id constant 2010-01-16 15:56:43 -05:00
pci_slot.c ACPICA: Add post-order callback to acpi_walk_namespace 2009-11-24 21:31:10 -05:00
power_meter.c ACPI: power_meter: remove double kfree() 2010-01-19 23:56:02 -05:00
power.c acpi: make ACPI device id constant 2010-01-16 15:56:43 -05:00
proc.c ACPI: clean up video.c boundary checks and types 2009-10-28 11:49:37 -04:00
processor_core.c ACPI: processor: change acpi_processor_set_pdc() interface 2009-12-22 03:33:58 -05:00
processor_idle.c ACPI: Be in TS_POLLING state during mwait based C-state entry 2010-02-22 13:10:14 -05:00
processor_pdc.c ACPI: processor: only evaluate _PDC once per processor 2010-01-22 12:39:56 -05:00
processor_perflib.c ACPI: Fix regression where _PPC is not read at boot even when ignore_ppc=0 2010-02-19 01:11:48 -05:00
processor_thermal.c ACPI: Remove unnecessary cast. 2010-01-15 23:06:44 -05:00
processor_throttling.c ACPI: Move dereference after NULL test 2009-11-05 17:30:57 -05:00
reboot.c
sbs.c ACPI: Fix unused variable warning in sbs.c 2010-01-16 16:04:18 -05:00
sbshc.c ACPI: SBS: Move SBS HC callback to faster Notify queue 2010-01-15 22:52:48 -05:00
sbshc.h
scan.c ACPI: acpi_bus_{scan,bus,add}: return -ENODEV if no device was found 2010-01-31 21:43:32 -05:00
sleep.c ACPI / EC / PM: Close race between EC and resume from hibernation 2010-03-08 14:15:51 -05:00
sleep.h ACPI: convert acpi_device_lock spinlock to mutex 2009-04-07 00:02:40 -04:00
system.c ACPI: Move definition of PREFIX from acpi_bus.h to internal..h 2009-08-28 19:57:27 -04:00
tables.c ACPI: fix "acpi=ht" boot option 2010-02-18 03:49:38 -05:00
thermal.c acpi: thermal: display forced passive trip points in proc 2009-12-16 01:54:09 -05:00
utils.c ACPI: Move definition of PREFIX from acpi_bus.h to internal..h 2009-08-28 19:57:27 -04:00
video_detect.c Merge branch 'acpica' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2009-12-09 19:57:06 -08:00
video.c Merge branch 'bugzilla-13577-video' into release 2010-01-20 01:14:41 -05:00
wakeup.c ACPI PM: Replace wakeup.prepared with reference counter 2009-09-09 14:19:18 -07:00