diff mbox series

[v1,03/11] PCI/PM: Set current_state to D3cold if the device is not accessible

Message ID 10104376.nUPlyArG6x@kreacher (mailing list archive)
State Accepted
Commit 1aa85bb14d8ed0ae4238617061924032c80dad37
Headers show
Series PCI/PM: Rework powering up PCI devices | expand

Commit Message

Rafael J. Wysocki May 5, 2022, 6:04 p.m. UTC
From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

Make pci_power_up() and pci_set_low_power_state() change current_state
to PCI_D3cold when the device is not accessible along the lines of
pci_update_current_state().

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
 drivers/pci/pci.c |    2 ++
 1 file changed, 2 insertions(+)
diff mbox series

Patch

Index: linux-pm/drivers/pci/pci.c
===================================================================
--- linux-pm.orig/drivers/pci/pci.c
+++ linux-pm/drivers/pci/pci.c
@@ -1207,6 +1207,7 @@  int pci_power_up(struct pci_dev *dev)
 	if (PCI_POSSIBLE_ERROR(pmcsr)) {
 		pci_err(dev, "Unable to change power state from %s to D0, device inaccessible\n",
 			pci_power_name(dev->current_state));
+		dev->current_state = PCI_D3cold;
 		return -EIO;
 	}
 
@@ -1335,6 +1336,7 @@  static int pci_set_low_power_state(struc
 		pci_err(dev, "Unable to change power state from %s to %s, device inaccessible\n",
 			pci_power_name(dev->current_state),
 			pci_power_name(state));
+		dev->current_state = PCI_D3cold;
 		return -EIO;
 	}