]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
e1000e: Exclude device from suspend direct complete optimization
authorKai-Heng Feng <kai.heng.feng@canonical.com>
Tue, 11 Dec 2018 07:59:37 +0000 (15:59 +0800)
committerKleber Sacilotto de Souza <kleber.souza@canonical.com>
Wed, 14 Aug 2019 09:18:49 +0000 (11:18 +0200)
BugLink: https://bugs.launchpad.net/bugs/1838116
[ Upstream commit 59f58708c5047289589cbf6ee95146b76cf57d1e ]

e1000e sets different WoL settings in system suspend callback and
runtime suspend callback.

The suspend direct complete optimization leaves e1000e in runtime
suspended state with wrong WoL setting during system suspend.

To fix this, we need to disable suspend direct complete optimization to
let e1000e always use suspend callback to set correct WoL during system
suspend.

Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
drivers/net/ethernet/intel/e1000e/netdev.c

index 69bbde32a8acc185a11b33e56f582ea98ddfac4a..f1af74a84c3e4e97fe90949859aca6b7255d9df1 100644 (file)
@@ -7345,6 +7345,8 @@ static int e1000_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 
        e1000_print_device_info(adapter);
 
+       dev_pm_set_driver_flags(&pdev->dev, DPM_FLAG_NEVER_SKIP);
+
        if (pci_dev_run_wake(pdev))
                pm_runtime_put_noidle(&pdev->dev);