]> git.proxmox.com Git - mirror_ubuntu-disco-kernel.git/commitdiff
igb: Exclude device from suspend direct complete optimization
authorKai-Heng Feng <kai.heng.feng@canonical.com>
Tue, 11 Dec 2018 07:59:38 +0000 (15:59 +0800)
committerStefan Bader <stefan.bader@canonical.com>
Tue, 13 Aug 2019 12:11:36 +0000 (14:11 +0200)
BugLink: https://bugs.launchpad.net/bugs/1837517
[ Upstream commit 5b6e13216be29ced7350d9c354a1af8fe0ad9a3e ]

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

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

To fix this, we need to disable suspend direct complete optimization to
let igb 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: Khalid Elmously <khalid.elmously@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
drivers/net/ethernet/intel/igb/igb_main.c

index 21ccadb720d1e74e5f41ebaa3f1975a168992901..2a000b8f341b3f76f5ed5a3a7733f7e360599bb5 100644 (file)
@@ -3467,6 +3467,9 @@ static int igb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
                        break;
                }
        }
+
+       dev_pm_set_driver_flags(&pdev->dev, DPM_FLAG_NEVER_SKIP);
+
        pm_runtime_put_noidle(&pdev->dev);
        return 0;