diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2023-10-28 13:30:59 -0500 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2023-10-28 13:30:59 -0500 |
commit | 2afbbc65be459f628719f21cb8ca6ce4c852b11c (patch) | |
tree | f008ef41cfbf5afb8052bff8cfa34b6d87461589 /drivers/pci | |
parent | 209491885f827f04302c6abad587f45f744e9d90 (diff) | |
parent | 7d08f21f8c6307cb05cabb8d86e90ff6ccba57e9 (diff) |
Merge branch 'pci/pm'
- Protect driver's D3cold preference from being overwritten by user space
via sysfs (Lukas Wunner)
- Avoid PME from D3hot/D3cold for AMD Rembrandt and Phoenix USB4 to fix
wakeup by USB4-attached devices (Mario Limonciello)
* pci/pm:
x86/PCI: Avoid PME from D3hot/D3cold for AMD Rembrandt and Phoenix USB4
PCI/sysfs: Protect driver's D3cold preference from user space
Diffstat (limited to 'drivers/pci')
-rw-r--r-- | drivers/pci/pci-acpi.c | 2 | ||||
-rw-r--r-- | drivers/pci/pci-sysfs.c | 5 |
2 files changed, 2 insertions, 5 deletions
diff --git a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c index cf108259aef6..004575091596 100644 --- a/drivers/pci/pci-acpi.c +++ b/drivers/pci/pci-acpi.c @@ -911,7 +911,7 @@ pci_power_t acpi_pci_choose_state(struct pci_dev *pdev) { int acpi_state, d_max; - if (pdev->no_d3cold) + if (pdev->no_d3cold || !pdev->d3cold_allowed) d_max = ACPI_STATE_D3_HOT; else d_max = ACPI_STATE_D3_COLD; diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c index d9eede2dbc0e..5e741a05cf2c 100644 --- a/drivers/pci/pci-sysfs.c +++ b/drivers/pci/pci-sysfs.c @@ -530,10 +530,7 @@ static ssize_t d3cold_allowed_store(struct device *dev, return -EINVAL; pdev->d3cold_allowed = !!val; - if (pdev->d3cold_allowed) - pci_d3cold_enable(pdev); - else - pci_d3cold_disable(pdev); + pci_bridge_d3_update(pdev); pm_runtime_resume(dev); |