]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commit
PCI: PM: Enable PME if it can be signaled from D3cold
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 29 Jul 2021 14:49:10 +0000 (16:49 +0200)
committerStefan Bader <stefan.bader@canonical.com>
Fri, 15 Oct 2021 09:27:00 +0000 (11:27 +0200)
commit0bc9290e6fa87cc67f25da14ce383f2a4ad7335f
tree10295437dc698e44420dda18c0bf0e4d1829294d
parentcd1c5a6e09c84b2c7f397ba9a32cfb4da47c7789
PCI: PM: Enable PME if it can be signaled from D3cold

BugLink: https://bugs.launchpad.net/bugs/1946788
[ Upstream commit 0e00392a895c95c6d12d42158236c8862a2f43f2 ]

PME signaling is only enabled by __pci_enable_wake() if the target
device can signal PME from the given target power state (to avoid
pointless reconfiguration of the device), but if the hierarchy above
the device goes into D3cold, the device itself will end up in D3cold
too, so if it can signal PME from D3cold, it should be enabled to
do so in __pci_enable_wake().

[Note that if the device does not end up in D3cold and it cannot
 signal PME from the original target power state, it will not signal
 PME, so in that case the behavior does not change.]

Link: https://lore.kernel.org/linux-pm/3149540.aeNJFYEL58@kreacher/
Fixes: 5bcc2fb4e815 ("PCI PM: Simplify PCI wake-up code")
Reported-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Reported-by: Utkarsh H Patel <utkarsh.h.patel@intel.com>
Reported-by: Koba Ko <koba.ko@canonical.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Tested-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Kelsey Skunberg <kelsey.skunberg@canonical.com>
drivers/pci/pci.c