aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ixgbe
diff options
context:
space:
mode:
authorEmil Tantilov <emil.s.tantilov@intel.com>2011-02-19 03:43:49 -0500
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2011-03-03 07:22:00 -0500
commit278675d855e03e111ca84fec6eb7d5569e56c394 (patch)
tree4e934013e8a3450e33f3a8d21bffcb0eafc3b787 /drivers/net/ixgbe
parent8c7bea32c4ebe02dbb574a49db418036da177326 (diff)
ixgbe: store permanent address before initializing Rx addresses
We were reading the address after it had been initialized and this results in the permanent address on the system being changed. This change corrects that by storing the address before we re-initialize it. Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com> Tested-by: Stephen Ko <stephen.s.ko@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ixgbe')
-rw-r--r--drivers/net/ixgbe/ixgbe_82598.c6
-rw-r--r--drivers/net/ixgbe/ixgbe_82599.c6
2 files changed, 6 insertions, 6 deletions
diff --git a/drivers/net/ixgbe/ixgbe_82598.c b/drivers/net/ixgbe/ixgbe_82598.c
index 8f5e347ac00..8f6205ef4a9 100644
--- a/drivers/net/ixgbe/ixgbe_82598.c
+++ b/drivers/net/ixgbe/ixgbe_82598.c
@@ -831,15 +831,15 @@ mac_reset_top:
831 IXGBE_WRITE_REG(hw, IXGBE_AUTOC, hw->mac.orig_autoc); 831 IXGBE_WRITE_REG(hw, IXGBE_AUTOC, hw->mac.orig_autoc);
832 } 832 }
833 833
834 /* Store the permanent mac address */
835 hw->mac.ops.get_mac_addr(hw, hw->mac.perm_addr);
836
834 /* 837 /*
835 * Store MAC address from RAR0, clear receive address registers, and 838 * Store MAC address from RAR0, clear receive address registers, and
836 * clear the multicast table 839 * clear the multicast table
837 */ 840 */
838 hw->mac.ops.init_rx_addrs(hw); 841 hw->mac.ops.init_rx_addrs(hw);
839 842
840 /* Store the permanent mac address */
841 hw->mac.ops.get_mac_addr(hw, hw->mac.perm_addr);
842
843reset_hw_out: 843reset_hw_out:
844 if (phy_status) 844 if (phy_status)
845 status = phy_status; 845 status = phy_status;
diff --git a/drivers/net/ixgbe/ixgbe_82599.c b/drivers/net/ixgbe/ixgbe_82599.c
index 5e2edcd1244..3d40e68b1b8 100644
--- a/drivers/net/ixgbe/ixgbe_82599.c
+++ b/drivers/net/ixgbe/ixgbe_82599.c
@@ -965,6 +965,9 @@ mac_reset_top:
965 } 965 }
966 } 966 }
967 967
968 /* Store the permanent mac address */
969 hw->mac.ops.get_mac_addr(hw, hw->mac.perm_addr);
970
968 /* 971 /*
969 * Store MAC address from RAR0, clear receive address registers, and 972 * Store MAC address from RAR0, clear receive address registers, and
970 * clear the multicast table. Also reset num_rar_entries to 128, 973 * clear the multicast table. Also reset num_rar_entries to 128,
@@ -973,9 +976,6 @@ mac_reset_top:
973 hw->mac.num_rar_entries = 128; 976 hw->mac.num_rar_entries = 128;
974 hw->mac.ops.init_rx_addrs(hw); 977 hw->mac.ops.init_rx_addrs(hw);
975 978
976 /* Store the permanent mac address */
977 hw->mac.ops.get_mac_addr(hw, hw->mac.perm_addr);
978
979 /* Store the permanent SAN mac address */ 979 /* Store the permanent SAN mac address */
980 hw->mac.ops.get_san_mac_addr(hw, hw->mac.san_addr); 980 hw->mac.ops.get_san_mac_addr(hw, hw->mac.san_addr);
981 981