On Wed, 16 Oct 2019 16:47:08 -0700, Jeff Kirsher wrote: > static int e1000e_pm_freeze(struct device *dev) > { > struct net_device *netdev = dev_get_drvdata(dev); > @@ -6650,6 +6822,9 @@ static int e1000e_pm_thaw(struct device *dev) > static int e1000e_pm_suspend(struct device *dev) > { > struct pci_dev *pdev = to_pci_dev(dev); > + struct net_device *netdev = pci_get_drvdata(to_pci_dev(dev)); > + struct e1000_adapter *adapter = netdev_priv(netdev); > + struct e1000_hw *hw = &adapter->hw; > int rc;
reverse xmas tree? > > e1000e_flush_lpic(pdev); > @@ -6660,14 +6835,25 @@ static int e1000e_pm_suspend(struct device *dev) > if (rc) > e1000e_pm_thaw(dev); > > + /* Introduce S0ix implementation */ > + if (hw->mac.type >= e1000_pch_cnp) > + e1000e_s0ix_entry_flow(adapter); the entry/exit functions never fail, you can make them return void > return rc; > } > > static int e1000e_pm_resume(struct device *dev) > { > struct pci_dev *pdev = to_pci_dev(dev); > + struct net_device *netdev = pci_get_drvdata(to_pci_dev(dev)); > + struct e1000_adapter *adapter = netdev_priv(netdev); > + struct e1000_hw *hw = &adapter->hw; > int rc; > > + /* Introduce S0ix implementation */ > + if (hw->mac.type >= e1000_pch_cnp) > + e1000e_s0ix_exit_flow(adapter); > + > rc = __e1000_resume(pdev); > if (rc) > return rc;