linux/drivers/pci
Rafael J. Wysocki 834145156b PCI / ACPI / PM: Clear pme_poll for devices in D3cold on wakeup
Commit 448bd85 (PCI/PM: add PCIe runtime D3cold support) added a
piece of code to pci_acpi_wake_dev() causing that function to behave
in a special way for devices in D3cold (so that their configuration
registers are not accessed before those devices are resumed).
However, it didn't take the clearing of the pme_poll flag into
account.  That has to be done for all devices, even if they are in
D3cold, or pci_pme_list_scan() will not know that wakeup has been
signaled for the device and will poll its PME Status bit
unnecessarily.

Fix the problem by moving the clearing of the pme_poll flag in
pci_acpi_wake_dev() before the code introduced by commit 448bd85.

Reported-and-tested-by: David E. Box <david.e.box@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Cc: 3.6+ <stable@vger.kernel.org> # 3.6+
2013-09-20 00:24:43 +02:00
..
host
hotplug Merge branch 'acpi-pci-hotplug' 2013-09-10 23:15:02 +02:00
pcie
access.c
ats.c
bus.c
host-bridge.c
hotplug-pci.c
htirq.c
ioapic.c
iov.c
irq.c
Kconfig
Makefile
msi.c Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
of.c
pci-acpi.c PCI / ACPI / PM: Clear pme_poll for devices in D3cold on wakeup 2013-09-20 00:24:43 +02:00
pci-driver.c
pci-label.c
pci-stub.c
pci-sysfs.c
pci.c
pci.h
probe.c
proc.c
quirks.c
remove.c
rom.c
search.c
setup-bus.c
setup-irq.c
setup-res.c
slot.c
syscall.c
vpd.c
xen-pcifront.c