diff options
author | Don Skidmore <donald.c.skidmore@intel.com> | 2009-11-24 13:51:48 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-11-29 03:33:59 -0500 |
commit | 000c486ddae850106a29e45a5d660dff49ad566a (patch) | |
tree | a3066d8a273eaea80f9f519dd37c6d38121cb7b4 /drivers/net/ixgbe/ixgbe_common.c | |
parent | 9bbe3a570b4984ff2e90014074ba3a06a05384a0 (diff) |
ixgbe: LINKS2 is not a valid register for 82598
82598 shouldn't try and access LINKS2 while configuring
link and flow control. This is an 82599-only register.
Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com>
Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ixgbe/ixgbe_common.c')
-rw-r--r-- | drivers/net/ixgbe/ixgbe_common.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/drivers/net/ixgbe/ixgbe_common.c b/drivers/net/ixgbe/ixgbe_common.c index f42a954ef660..79533e2720f9 100644 --- a/drivers/net/ixgbe/ixgbe_common.c +++ b/drivers/net/ixgbe/ixgbe_common.c | |||
@@ -1755,17 +1755,24 @@ s32 ixgbe_fc_autoneg(struct ixgbe_hw *hw) | |||
1755 | /* | 1755 | /* |
1756 | * On backplane, bail out if | 1756 | * On backplane, bail out if |
1757 | * - backplane autoneg was not completed, or if | 1757 | * - backplane autoneg was not completed, or if |
1758 | * - link partner is not AN enabled | 1758 | * - we are 82599 and link partner is not AN enabled |
1759 | */ | 1759 | */ |
1760 | if (hw->phy.media_type == ixgbe_media_type_backplane) { | 1760 | if (hw->phy.media_type == ixgbe_media_type_backplane) { |
1761 | links = IXGBE_READ_REG(hw, IXGBE_LINKS); | 1761 | links = IXGBE_READ_REG(hw, IXGBE_LINKS); |
1762 | links2 = IXGBE_READ_REG(hw, IXGBE_LINKS2); | 1762 | if ((links & IXGBE_LINKS_KX_AN_COMP) == 0) { |
1763 | if (((links & IXGBE_LINKS_KX_AN_COMP) == 0) || | ||
1764 | ((links2 & IXGBE_LINKS2_AN_SUPPORTED) == 0)) { | ||
1765 | hw->fc.fc_was_autonegged = false; | 1763 | hw->fc.fc_was_autonegged = false; |
1766 | hw->fc.current_mode = hw->fc.requested_mode; | 1764 | hw->fc.current_mode = hw->fc.requested_mode; |
1767 | goto out; | 1765 | goto out; |
1768 | } | 1766 | } |
1767 | |||
1768 | if (hw->mac.type == ixgbe_mac_82599EB) { | ||
1769 | links2 = IXGBE_READ_REG(hw, IXGBE_LINKS2); | ||
1770 | if ((links2 & IXGBE_LINKS2_AN_SUPPORTED) == 0) { | ||
1771 | hw->fc.fc_was_autonegged = false; | ||
1772 | hw->fc.current_mode = hw->fc.requested_mode; | ||
1773 | goto out; | ||
1774 | } | ||
1775 | } | ||
1769 | } | 1776 | } |
1770 | 1777 | ||
1771 | /* | 1778 | /* |