e1000e: PCIm function state support
authorVitaly Lifshits <vitaly.lifshits@intel.com>
Tue, 25 Jun 2019 14:39:11 +0000 (17:39 +0300)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Fri, 28 Jun 2019 23:00:28 +0000 (16:00 -0700)
commitdef4ec6dce393e2136b62a05712f35a7fa5f5e56
tree31a70eaa06bc55afc32a67e6b2c17f6216b838d0
parent59653e6497d16f7ac1d9db088f3959f57ee8c3db
e1000e: PCIm function state support

Due to commit: 5d8682588605 ("[misc] mei: me: allow runtime
pm for platform with D0i3")
When disconnecting the cable and reconnecting it the NIC
enters DMoff state. This caused wrong link indication
and duplex mismatch. This bug is described in:
https://bugzilla.redhat.com/show_bug.cgi?id=1689436

Checking PCIm function state and performing PHY reset after a
timeout in watchdog task solves this issue.

Signed-off-by: Vitaly Lifshits <vitaly.lifshits@intel.com>
Acked-by: Sasha Neftin <sasha.neftin@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/e1000e/defines.h
drivers/net/ethernet/intel/e1000e/netdev.c