8390: smc-ultra: use eth_hw_addr_set()
authorJakub Kicinski <kuba@kernel.org>
Fri, 19 Nov 2021 07:10:25 +0000 (23:10 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 19 Nov 2021 11:05:20 +0000 (11:05 +0000)
IO reads, so save to an array then eth_hw_addr_set().

Fixes build on Alpha.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/8390/smc-ultra.c

index 0890fa4..6e62c37 100644 (file)
@@ -204,6 +204,7 @@ static int __init ultra_probe1(struct net_device *dev, int ioaddr)
 {
        int i, retval;
        int checksum = 0;
+       u8 macaddr[ETH_ALEN];
        const char *model_name;
        unsigned char eeprom_irq = 0;
        static unsigned version_printed;
@@ -239,7 +240,8 @@ static int __init ultra_probe1(struct net_device *dev, int ioaddr)
        model_name = (idreg & 0xF0) == 0x20 ? "SMC Ultra" : "SMC EtherEZ";
 
        for (i = 0; i < 6; i++)
-               dev->dev_addr[i] = inb(ioaddr + 8 + i);
+               macaddr[i] = inb(ioaddr + 8 + i);
+       eth_hw_addr_set(dev, macaddr);
 
        netdev_info(dev, "%s at %#3x, %pM", model_name,
                    ioaddr, dev->dev_addr);