diff options
author | Rafael J. Wysocki <rjw@sisk.pl> | 2010-03-04 01:52:58 +0100 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2010-03-08 14:15:51 -0500 |
commit | f6bb13aa1ea3bb26a4c783822347873f085b9000 (patch) | |
tree | e0350530685e0719d4318f052982aa4340a00650 /drivers/acpi/internal.h | |
parent | 60b341b778cc2929df16c0a504c91621b3c6a4ad (diff) | |
download | linux-f6bb13aa1ea3bb26a4c783822347873f085b9000.tar.gz linux-f6bb13aa1ea3bb26a4c783822347873f085b9000.tar.bz2 linux-f6bb13aa1ea3bb26a4c783822347873f085b9000.zip |
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>
Diffstat (limited to 'drivers/acpi/internal.h')
-rw-r--r-- | drivers/acpi/internal.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/acpi/internal.h b/drivers/acpi/internal.h index cb28e0502acc..78742460f1fc 100644 --- a/drivers/acpi/internal.h +++ b/drivers/acpi/internal.h @@ -51,6 +51,8 @@ void acpi_early_processor_set_pdc(void); int acpi_ec_init(void); int acpi_ec_ecdt_probe(void); int acpi_boot_ec_enable(void); +void acpi_ec_suspend_transactions(void); +void acpi_ec_resume_transactions(void); /*-------------------------------------------------------------------------- Suspend/Resume |