diff options
author | Jakub Kicinski <kuba@kernel.org> | 2021-10-08 10:59:13 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2021-10-09 11:46:57 +0100 |
commit | 8ce218b6e58ad9d2149402ea48ae8dbb0c57b1b5 (patch) | |
tree | 0a2de992be4a84f5017305fee96d67c76b1c8388 /drivers/net/ethernet/8390/ax88796.c | |
parent | a7639279c93c1e07a703c0f86f0831d4ea2314f0 (diff) | |
download | linux-next-8ce218b6e58ad9d2149402ea48ae8dbb0c57b1b5.tar.gz |
ethernet: 8390: remove direct netdev->dev_addr writes
8390 contains a lot of loops assigning netdev->dev_addr
byte by byte. Convert what's possible directly to
eth_hw_addr_set(), use local buf in other places.
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/8390/ax88796.c')
-rw-r--r-- | drivers/net/ethernet/8390/ax88796.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/ethernet/8390/ax88796.c b/drivers/net/ethernet/8390/ax88796.c index b3e612b18abd..1f8acbba5b6b 100644 --- a/drivers/net/ethernet/8390/ax88796.c +++ b/drivers/net/ethernet/8390/ax88796.c @@ -748,11 +748,13 @@ static int ax_init_dev(struct net_device *dev) /* load the mac-address from the device */ if (ax->plat->flags & AXFLG_MAC_FROMDEV) { + u8 addr[ETH_ALEN]; + ei_outb(E8390_NODMA + E8390_PAGE1 + E8390_STOP, ei_local->mem + E8390_CMD); /* 0x61 */ for (i = 0; i < ETH_ALEN; i++) - dev->dev_addr[i] = - ei_inb(ioaddr + EN1_PHYS_SHIFT(i)); + addr[i] = ei_inb(ioaddr + EN1_PHYS_SHIFT(i)); + eth_hw_addr_set(dev, addr); } if ((ax->plat->flags & AXFLG_MAC_FROMPLATFORM) && |