diff options
author | Ben Hutchings <bhutchings@solarflare.com> | 2010-12-02 13:48:28 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-12-03 09:08:11 -0800 |
commit | 7e300bc8e6736d41e7b92978f415572ac60fd59b (patch) | |
tree | b48dc8243946bd08e3c7eef5171d910218a43987 /drivers/net/sfc/efx.c | |
parent | 02ebc26865c2755720d2ede90a5ab27c45741823 (diff) | |
download | kernel_samsung_tuna-7e300bc8e6736d41e7b92978f415572ac60fd59b.zip kernel_samsung_tuna-7e300bc8e6736d41e7b92978f415572ac60fd59b.tar.gz kernel_samsung_tuna-7e300bc8e6736d41e7b92978f415572ac60fd59b.tar.bz2 |
sfc: Store MAC address from NVRAM in net_device::perm_addr
For some reason we failed to make this change when perm_addr was
introduced.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/sfc/efx.c')
-rw-r--r-- | drivers/net/sfc/efx.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/net/sfc/efx.c b/drivers/net/sfc/efx.c index 7e820d9..f3e4043 100644 --- a/drivers/net/sfc/efx.c +++ b/drivers/net/sfc/efx.c @@ -909,6 +909,7 @@ static void efx_mac_work(struct work_struct *data) static int efx_probe_port(struct efx_nic *efx) { + unsigned char *perm_addr; int rc; netif_dbg(efx, probe, efx->net_dev, "create port\n"); @@ -922,11 +923,12 @@ static int efx_probe_port(struct efx_nic *efx) return rc; /* Sanity check MAC address */ - if (is_valid_ether_addr(efx->mac_address)) { - memcpy(efx->net_dev->dev_addr, efx->mac_address, ETH_ALEN); + perm_addr = efx->net_dev->perm_addr; + if (is_valid_ether_addr(perm_addr)) { + memcpy(efx->net_dev->dev_addr, perm_addr, ETH_ALEN); } else { netif_err(efx, probe, efx->net_dev, "invalid MAC address %pM\n", - efx->mac_address); + perm_addr); if (!allow_bad_hwaddr) { rc = -EINVAL; goto err; |