|
@@ -1249,6 +1249,7 @@ static int e1000_integrated_phy_loopback(struct e1000_adapter *adapter)
|
|
|
u32 ctrl_reg = 0;
|
|
|
u32 stat_reg = 0;
|
|
|
u16 phy_reg = 0;
|
|
|
+ s32 ret_val = 0;
|
|
|
|
|
|
hw->mac.autoneg = 0;
|
|
|
|
|
@@ -1308,7 +1309,13 @@ static int e1000_integrated_phy_loopback(struct e1000_adapter *adapter)
|
|
|
case e1000_phy_82577:
|
|
|
case e1000_phy_82578:
|
|
|
/* Workaround: K1 must be disabled for stable 1Gbps operation */
|
|
|
+ ret_val = hw->phy.ops.acquire(hw);
|
|
|
+ if (ret_val) {
|
|
|
+ e_err("Cannot setup 1Gbps loopback.\n");
|
|
|
+ return ret_val;
|
|
|
+ }
|
|
|
e1000_configure_k1_ich8lan(hw, false);
|
|
|
+ hw->phy.ops.release(hw);
|
|
|
break;
|
|
|
case e1000_phy_82579:
|
|
|
/* Disable PHY energy detect power down */
|