diff options
author | Jacob Keller | 2014-02-22 02:23:54 +0100 |
---|---|---|
committer | Jeff Kirsher | 2014-03-20 07:19:44 +0100 |
commit | f68bfdb14becbce565d72ff2e8571dbb3081db9c (patch) | |
tree | 84a9b8d1510d9dbb43024129dd090ac953812603 /drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c | |
parent | ixgbe: fix errors related to protected AUTOC calls (diff) | |
download | kernel-qcow2-linux-f68bfdb14becbce565d72ff2e8571dbb3081db9c.tar.gz kernel-qcow2-linux-f68bfdb14becbce565d72ff2e8571dbb3081db9c.tar.xz kernel-qcow2-linux-f68bfdb14becbce565d72ff2e8571dbb3081db9c.zip |
ixgbe: check Core Clock Disable bit
This patch corrects the stop_mac_link_on_d3 function in ixgbe_82599 by
checking the Core Clock Disable bit before stopping link.
CC: Arun Sharma <asharma@fb.com>
Reported-by: Chris Pavlas <chris.pavlas@intel.com>
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c')
-rw-r--r-- | drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c index 572cce47797c..fcba1d9734f9 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c @@ -518,8 +518,12 @@ out: static void ixgbe_stop_mac_link_on_d3_82599(struct ixgbe_hw *hw) { u32 autoc2_reg; + u16 ee_ctrl_2 = 0; - if (!hw->mng_fw_enabled && !hw->wol_enabled) { + hw->eeprom.ops.read(hw, IXGBE_EEPROM_CTRL_2, &ee_ctrl_2); + + if (!hw->mng_fw_enabled && !hw->wol_enabled && + ee_ctrl_2 & IXGBE_EEPROM_CCD_BIT) { autoc2_reg = IXGBE_READ_REG(hw, IXGBE_AUTOC2); autoc2_reg |= IXGBE_AUTOC2_LINK_DISABLE_ON_D3_MASK; IXGBE_WRITE_REG(hw, IXGBE_AUTOC2, autoc2_reg); |