[Intel-wired-lan] [PATCH 2/5] igc: Let the PCI core deal with the PM resume flow

Mika Westerberg
2026-02-24T11:10:55Z

Currently igc driver calls pci_set_power_state() and pci_restore_state()
and the like to bring the device back from low power states. However,
PCI core handles all this on behalf of the driver. Furthermore with PTM
enabled the PCI core re-enables it on resume but the driver calls
pci_restore_state() which ends up disabling it again.

For this reason let the PCI core handle the common PM resume flow.

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com>
---
drivers/net/ethernet/intel/igc/igc_main.c | 6 ------
1 file changed, 6 deletions(-)

diff --git a/drivers/net/ethernet/intel/igc/igc_main.c b/drivers/net/ethernet/intel/igc/igc_main.c
index 7ffd34bfa14e..99a4c99ddd57 100644
--- a/drivers/net/ethernet/intel/igc/igc_main.c
+++ b/drivers/net/ethernet/intel/igc/igc_main.c
@@ -7526,9 +7526,6 @@ static int __igc_resume(struct device *dev)
struct igc_hw *hw = &adapter->hw;
u32 err, val;

- pci_set_power_state(pdev, PCI_D0);
- pci_restore_state(pdev);
-
if (!pci_device_is_present(pdev))
return -ENODEV;
err = pci_enable_device_mem(pdev);
@@ -7538,9 +7535,6 @@ static int __igc_resume(struct device *dev)
}
pci_set_master(pdev);

- pci_enable_wake(pdev, PCI_D3hot, 0);
- pci_enable_wake(pdev, PCI_D3cold, 0);
-
if (igc_is_device_id_i226(hw))
pci_disable_link_state(pdev, PCIE_LINK_STATE_L1_2);

--
2.50.1