summaryrefslogtreecommitdiffstats
path: root/drivers/pci
diff options
context:
space:
mode:
authorImre Deak <imre.deak@intel.com>2017-05-23 14:18:17 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-06-17 06:44:17 +0200
commitd7c0a50b21011054896e1755600f6f3aa6986d41 (patch)
tree1fecb44ab8f1768d517ff9b969d67614eaca5e2b /drivers/pci
parent92220696d5d07525443d9280c08c498e77d0386c (diff)
downloadlinux-stable-d7c0a50b21011054896e1755600f6f3aa6986d41.tar.gz
linux-stable-d7c0a50b21011054896e1755600f6f3aa6986d41.tar.bz2
linux-stable-d7c0a50b21011054896e1755600f6f3aa6986d41.zip
PCI/PM: Add needs_resume flag to avoid suspend complete optimization
commit 4d071c3238987325b9e50e33051a40d1cce311cc upstream. Some drivers - like i915 - may not support the system suspend direct complete optimization due to differences in their runtime and system suspend sequence. Add a flag that when set resumes the device before calling the driver's system suspend handlers which effectively disables the optimization. Needed by a future patch fixing suspend/resume on i915. Suggested by Rafael. Signed-off-by: Imre Deak <imre.deak@intel.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Cc: stable@vger.kernel.org (rebased on v4.8, added kernel version to commit message stable tag) Signed-off-by: Imre Deak <imre.deak@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/pci')
-rw-r--r--drivers/pci/pci.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index d35c0162f9f2..0f6f9a97a81c 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -2142,7 +2142,8 @@ bool pci_dev_keep_suspended(struct pci_dev *pci_dev)
if (!pm_runtime_suspended(dev)
|| pci_target_state(pci_dev) != pci_dev->current_state
- || platform_pci_need_resume(pci_dev))
+ || platform_pci_need_resume(pci_dev)
+ || (pci_dev->dev_flags & PCI_DEV_FLAGS_NEEDS_RESUME))
return false;
/*