If the hardware error is detected during resume, the NIC might be in a unstable status and blocks the subsequent suspend afterwards. A broken device is not expected to impact the system wide suspend, and this patch disable the power management support of this NIC. So that the borken NIC will not be considered during suspend/resume, thus not to prevent the system from suspend/resume.
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=205015 Reported-by: "Brandt, Todd E" <[email protected]> Reported-by: Len Brown <[email protected]> Signed-off-by: Chen Yu <[email protected]> --- drivers/net/ethernet/intel/e1000e/netdev.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c index 45e0b1901440..08bc544e879a 100644 --- a/drivers/net/ethernet/intel/e1000e/netdev.c +++ b/drivers/net/ethernet/intel/e1000e/netdev.c @@ -6959,7 +6959,8 @@ static int __e1000_resume(struct pci_dev *pdev) ew32(WUS, ~0); } - e1000e_reset(adapter); + if (_e1000e_reset(adapter)) + schedule_work(&adapter->pm_remove_task); e1000_init_manageability_pt(adapter); -- 2.17.1

