e1000: prevent ULP flow if cable connected

Enabling ulp on link down when cable is connect caused an infinite
loop of linkup/down indications in the NDIS driver.
After discussed, correct flow is to enable ULP only when cable is
disconnected.

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>

Approved by:	imp
Obtained from:	DPDK (4bff263d54d299269966365f9697941eecaa241b)
MFC after:	1 week
This commit is contained in:
Wenzhuo Lu 2015-10-16 10:51:03 +08:00 committed by Kevin Bowling
parent 089cdb3990
commit 40fa6e53f5

View File

@ -1307,6 +1307,10 @@ s32 e1000_enable_ulp_lpt_lp(struct e1000_hw *hw, bool to_sx)
(E1000_READ_REG(hw, E1000_FEXT) & (E1000_READ_REG(hw, E1000_FEXT) &
E1000_FEXT_PHY_CABLE_DISCONNECTED) ? "" : "not", E1000_FEXT_PHY_CABLE_DISCONNECTED) ? "" : "not",
i * 50); i * 50);
if (!(E1000_READ_REG(hw, E1000_FEXT) &
E1000_FEXT_PHY_CABLE_DISCONNECTED))
return 0;
} }
ret_val = hw->phy.ops.acquire(hw); ret_val = hw->phy.ops.acquire(hw);