]> git.baikalelectronics.ru Git - kernel.git/commit
ACPI / PM / EC: Flush all EC work in acpi_freeze_sync()
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 20 Jul 2017 01:43:12 +0000 (03:43 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 20 Jul 2017 14:44:24 +0000 (16:44 +0200)
commit112b310bcf57c9061ac6c3b90d16d4f1911e8607
treea627b30bec5389d5dc3ac77a964f82108f7fc6ba
parentd56f446dd6efabf0298e5ad36db59745f1c5467b
ACPI / PM / EC: Flush all EC work in acpi_freeze_sync()

Commit a197cdc87161 (ACPI / sleep: Ignore spurious SCI wakeups from
suspend-to-idle) introduced acpi_freeze_sync() whose purpose is to
flush all of the processing of possible wakeup events signaled via
the ACPI SCI.  However, it doesn't flush the query workqueue used
by the EC driver, so the events generated by the EC may not be
processed timely which leads to issues (increased overhead at least,
lost events possibly).

To fix that introduce acpi_ec_flush_work() that will flush all of
the outstanding EC work and call it from acpi_freeze_sync().

Fixes: a197cdc87161 (ACPI / sleep: Ignore spurious SCI wakeups from suspend-to-idle)
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/ec.c
drivers/acpi/internal.h
drivers/acpi/sleep.c