diff options
Diffstat (limited to 'drivers/net/ethernet/micrel/ks8851_common.c')
-rw-r--r-- | drivers/net/ethernet/micrel/ks8851_common.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/ethernet/micrel/ks8851_common.c b/drivers/net/ethernet/micrel/ks8851_common.c index 499258b8662a..691206f19ea7 100644 --- a/drivers/net/ethernet/micrel/ks8851_common.c +++ b/drivers/net/ethernet/micrel/ks8851_common.c @@ -165,6 +165,7 @@ static void ks8851_read_mac_addr(struct net_device *dev) { struct ks8851_net *ks = netdev_priv(dev); unsigned long flags; + u8 addr[ETH_ALEN]; u16 reg; int i; @@ -172,9 +173,10 @@ static void ks8851_read_mac_addr(struct net_device *dev) for (i = 0; i < ETH_ALEN; i += 2) { reg = ks8851_rdreg16(ks, KS_MAR(i)); - dev->dev_addr[i] = reg >> 8; - dev->dev_addr[i + 1] = reg & 0xff; + addr[i] = reg >> 8; + addr[i + 1] = reg & 0xff; } + eth_hw_addr_set(dev, addr); ks8851_unlock(ks, &flags); } |