Skip to content

Commit

Permalink
e1000: Esb2 wol link cycle bug and uninitialized registers
Browse files Browse the repository at this point in the history
Esb2 link didn't return after wol disable. The code previously assumed
that writing reset to PHY_CTRL phy register turned the phy back on.
In the ESB2 phy case that didn't occur.

Add ESB2 to acquire/release_hw functions upon review it was
discovered that esb2 was skipped on these functions


Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: John Ronciak <john.ronciak@intel.com>
  • Loading branch information
Auke Kok committed Apr 15, 2006
1 parent d0e027d commit 4cc15f5
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion drivers/net/e1000/e1000_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -359,6 +359,7 @@ e1000_release_hw_control(struct e1000_adapter *adapter)
switch (adapter->hw.mac_type) {
case e1000_82571:
case e1000_82572:
case e1000_80003es2lan:
ctrl_ext = E1000_READ_REG(&adapter->hw, CTRL_EXT);
E1000_WRITE_REG(&adapter->hw, CTRL_EXT,
ctrl_ext & ~E1000_CTRL_EXT_DRV_LOAD);
Expand Down Expand Up @@ -392,6 +393,7 @@ e1000_get_hw_control(struct e1000_adapter *adapter)
switch (adapter->hw.mac_type) {
case e1000_82571:
case e1000_82572:
case e1000_80003es2lan:
ctrl_ext = E1000_READ_REG(&adapter->hw, CTRL_EXT);
E1000_WRITE_REG(&adapter->hw, CTRL_EXT,
ctrl_ext | E1000_CTRL_EXT_DRV_LOAD);
Expand Down Expand Up @@ -419,7 +421,7 @@ e1000_up(struct e1000_adapter *adapter)
uint16_t mii_reg;
e1000_read_phy_reg(&adapter->hw, PHY_CTRL, &mii_reg);
if (mii_reg & MII_CR_POWER_DOWN)
e1000_phy_reset(&adapter->hw);
e1000_phy_hw_reset(&adapter->hw);
}

e1000_set_multi(netdev);
Expand Down

0 comments on commit 4cc15f5

Please sign in to comment.