PCI / PM: Detect early wakeup in pci_pm_prepare()
authorRafael J. Wysocki <rjw@sisk.pl>
Wed, 6 Jul 2011 08:51:40 +0000 (10:51 +0200)
committerRafael J. Wysocki <rjw@sisk.pl>
Wed, 6 Jul 2011 08:51:40 +0000 (10:51 +0200)
commiteea3fc0357eb89d0b2d1af37bdfb83eb4076a542
treebe45aa2bc5370bdba7926f35dfdd73e8a6f464d0
parent632e270e01d8a1ee9e8ea56c83028727f17b1d17
PCI / PM: Detect early wakeup in pci_pm_prepare()

A subsequent patch is going to move the invocation of
pm_runtime_barrier() from dpm_prepare() to __device_suspend().
Consequently, early wakeup events resulting from runtime resume
requests for wakeup devices queued up right before system suspend
will only be detected after all of the subsystem-level .prepare()
callbacks have run.  However, the PCI bus type calls
pm_runtime_get_sync() from its pci_pm_prepare() callback routine,
so it would destroy the early wakeup events information regarding PCI
devices.  To prevent this from happening add an early wakeup
detection mechanism, analogous to the one currently in dpm_prepare(),
to pci_pm_prepare().

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
drivers/pci/pci-driver.c