aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/igb/e1000_82575.c
diff options
context:
space:
mode:
authorAlexander Duyck <alexander.h.duyck@intel.com>2009-10-05 02:34:25 -0400
committerDavid S. Miller <davem@davemloft.net>2009-10-06 17:59:21 -0400
commit22896639af98ebc721a94ed71fc3acf2fb4a24dc (patch)
treedd411a3246a6a01e467873dafd4417f756b961c9 /drivers/net/igb/e1000_82575.c
parent3272686c98da64d6eeaa2434782f42270b110758 (diff)
igb: change how we handle alternate mac addresses
This patch allows us to treat the alternate mac address as though it is the physical address on the adapter. This is accomplished by letting the alt_mac_address function to only fail on an NVM error. If no errors occur and the alternate mac address is not present then RAR0 is read as the default mac address. Signed-off-by: Alexander Duyck <alexander.h.duyck@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/igb/e1000_82575.c')
-rw-r--r--drivers/net/igb/e1000_82575.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/net/igb/e1000_82575.c b/drivers/net/igb/e1000_82575.c
index e07f66c6a1cf..45063c25155a 100644
--- a/drivers/net/igb/e1000_82575.c
+++ b/drivers/net/igb/e1000_82575.c
@@ -1152,9 +1152,18 @@ static s32 igb_read_mac_addr_82575(struct e1000_hw *hw)
1152{ 1152{
1153 s32 ret_val = 0; 1153 s32 ret_val = 0;
1154 1154
1155 if (igb_check_alt_mac_addr(hw)) 1155 /*
1156 ret_val = igb_read_mac_addr(hw); 1156 * If there's an alternate MAC address place it in RAR0
1157 * so that it will override the Si installed default perm
1158 * address.
1159 */
1160 ret_val = igb_check_alt_mac_addr(hw);
1161 if (ret_val)
1162 goto out;
1163
1164 ret_val = igb_read_mac_addr(hw);
1157 1165
1166out:
1158 return ret_val; 1167 return ret_val;
1159} 1168}
1160 1169