aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/e1000/e1000_base.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/e1000/e1000_base.c')
-rw-r--r--sys/dev/e1000/e1000_base.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/e1000/e1000_base.c b/sys/dev/e1000/e1000_base.c
index ff810821d9e9..ae44a0b91aac 100644
--- a/sys/dev/e1000/e1000_base.c
+++ b/sys/dev/e1000/e1000_base.c
@@ -137,7 +137,7 @@ void e1000_power_down_phy_copper_base(struct e1000_hw *hw)
return;
/* If the management interface is not enabled, then power down */
- if (phy->ops.check_reset_block(hw))
+ if (!(e1000_enable_mng_pass_thru(hw) || phy->ops.check_reset_block(hw)))
e1000_power_down_phy_copper(hw);
}
@@ -162,7 +162,8 @@ void e1000_rx_fifo_flush_base(struct e1000_hw *hw)
rfctl |= E1000_RFCTL_IPV6_EX_DIS;
E1000_WRITE_REG(hw, E1000_RFCTL, rfctl);
- if (!(E1000_READ_REG(hw, E1000_MANC) & E1000_MANC_RCV_TCO_EN))
+ if (hw->mac.type != e1000_82575 ||
+ !(E1000_READ_REG(hw, E1000_MANC) & E1000_MANC_RCV_TCO_EN))
return;
/* Disable all Rx queues */