OSDN Git Service

lasi_82594: use eth_hw_addr_set()
authorJakub Kicinski <kuba@kernel.org>
Fri, 19 Nov 2021 07:10:30 +0000 (23:10 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 19 Nov 2021 11:05:21 +0000 (11:05 +0000)
dev_addr is set from IO reads, passed to an arch-specific helper.
Note that the helper never reads it so uninitialized temp is fine.

Fixes build on parisc.

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

index 48e0018..0af7009 100644 (file)
@@ -147,6 +147,7 @@ lan_init_chip(struct parisc_device *dev)
        struct  net_device *netdevice;
        struct i596_private *lp;
        int retval = -ENOMEM;
+       u8 addr[ETH_ALEN];
        int i;
 
        if (!dev->irq) {
@@ -167,13 +168,14 @@ lan_init_chip(struct parisc_device *dev)
        netdevice->base_addr = dev->hpa.start;
        netdevice->irq = dev->irq;
 
-       if (pdc_lan_station_id(netdevice->dev_addr, netdevice->base_addr)) {
+       if (pdc_lan_station_id(addr, netdevice->base_addr)) {
                for (i = 0; i < 6; i++) {
-                       netdevice->dev_addr[i] = gsc_readb(LAN_PROM_ADDR + i);
+                       addr[i] = gsc_readb(LAN_PROM_ADDR + i);
                }
                printk(KERN_INFO
                       "%s: MAC of HP700 LAN read from EEPROM\n", __FILE__);
        }
+       eth_hw_addr_set(netdevice, addr);
 
        lp = netdev_priv(netdevice);
        lp->options = dev->id.sversion == 0x72 ? OPT_SWAP_PORT : 0;