linux/drivers/pci
Rafael J. Wysocki a5f76d5eba PCI / PM: Block races between runtime PM and system sleep
After commit e866500247
(PM: Allow pm_runtime_suspend() to succeed during system suspend) it
is possible that a device resumed by the pm_runtime_resume(dev) in
pci_pm_prepare() will be suspended immediately from a work item,
timer function or otherwise, defeating the very purpose of calling
pm_runtime_resume(dev) from there.  To prevent that from happening
it is necessary to increment the runtime PM usage counter of the
device by replacing pm_runtime_resume() with pm_runtime_get_sync().
Moreover, the incremented runtime PM usage counter has to be
decremented by the corresponding pci_pm_complete(), via
pm_runtime_put_sync().

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Cc: stable@kernel.org
Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2011-06-21 23:47:15 +02:00
..
hotplug PCI hotplug: acpiphp: assume device is in state D0 after powering on a slot. 2011-05-11 09:13:14 -07:00
pcie PCI: remove unused AER functions 2011-05-21 12:17:14 -07:00
.gitignore
access.c PCI: handle positive error codes 2011-05-10 15:43:36 -07:00
bus.c PCI/sysfs: move bus cpuaffinity to class dev_attrs 2011-05-21 12:17:13 -07:00
dmar.c intel-iommu: Remove obsolete comment from detect_intel_iommu 2011-05-24 13:08:31 +01:00
hotplug-pci.c
hotplug.c
htirq.c drivers: Final irq namespace conversion 2011-03-29 14:48:19 +02:00
intel-iommu.c PM / Intel IOMMU: Fix init_iommu_pm_ops() for CONFIG_PM unset 2011-06-07 21:32:31 +02:00
intr_remapping.c Fix common misspellings 2011-03-31 11:26:23 -03:00
intr_remapping.h intr-remap: generic support for remapping HPET MSIs 2009-08-27 23:33:20 +02:00
ioapic.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
iov.c PCI: Move ATS declarations in seperate header file 2011-04-11 09:01:41 +02:00
iova.c intel-iommu: Dont cache iova above 32bit 2011-06-01 12:47:40 +01:00
irq.c PCI: struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-07 11:12:23 -08:00
Kconfig PCI: pci-label: Fix build failure when CONFIG_NLS is set to 'm' by allmodconfig 2011-04-12 08:39:02 -07:00
Makefile sparc32,leon: added LEON-common low-level PCI routines 2011-06-02 14:32:37 -07:00
msi.c drivers: Final irq namespace conversion 2011-03-29 14:48:19 +02:00
msi.h PCI: MSI: Move MSI-X entry definition to pci_regs.h 2010-12-23 12:53:07 -08:00
pci-acpi.c ACPI: Add D3 cold state 2011-05-29 02:21:08 -04:00
pci-driver.c PCI / PM: Block races between runtime PM and system sleep 2011-06-21 23:47:15 +02:00
pci-label.c PCI: label: remove #include of ACPI header to avoid warnings 2011-03-16 10:24:34 -07:00
pci-stub.c PCI: pci-stub: ignore zero-length id parameters 2010-12-23 12:53:52 -08:00
pci-sysfs.c PCI/sysfs: move bus cpuaffinity to class dev_attrs 2011-05-21 12:17:13 -07:00
pci.c x86/uv/x2apic: update for change in pci bridge handling. 2011-06-14 09:50:12 +10:00
pci.h Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2011-05-23 15:39:34 -07:00
probe.c PCI/sysfs: move bus cpuaffinity to class dev_attrs 2011-05-21 12:17:13 -07:00
proc.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
quirks.c PCI: Don't use dmi_name_in_vendors in quirk 2011-05-21 12:17:15 -07:00
remove.c PCI/sysfs: move bus cpuaffinity to class dev_attrs 2011-05-21 12:17:13 -07:00
rom.c PCI: fix rom.c kernel-doc warning 2009-02-13 12:01:56 -08:00
search.c PCI: use for_each_pci_dev() 2010-07-30 09:47:22 -07:00
setup-bus.c Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2011-05-23 15:39:34 -07:00
setup-irq.c PCI: use for_each_pci_dev() 2010-07-30 09:47:22 -07:00
setup-res.c PCI: fix message typo 2010-10-17 20:03:05 -07:00
slot.c PCI: bus speed strings should be const 2010-08-31 15:28:00 -07:00
syscall.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
vpd.c pci: Add helper to search for VPD keywords 2010-02-28 00:43:33 -08:00
xen-pcifront.c pci/xen: Cleanup: convert int** to int[] 2011-02-18 12:41:49 -05:00