cirrus: mac89x0: use eth_hw_addr_set()
authorJakub Kicinski <kuba@kernel.org>
Fri, 19 Nov 2021 07:10:32 +0000 (23:10 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 19 Nov 2021 11:05:21 +0000 (11:05 +0000)
Byte by byte assignments.

Fixes build on m68k.

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

index 84251b8..21a70b1 100644 (file)
@@ -242,12 +242,15 @@ static int mac89x0_device_probe(struct platform_device *pdev)
                pr_info("No EEPROM, giving up now.\n");
                goto out1;
         } else {
+               u8 addr[ETH_ALEN];
+
                 for (i = 0; i < ETH_ALEN; i += 2) {
                        /* Big-endian (why??!) */
                        unsigned short s = readreg(dev, PP_IA + i);
-                        dev->dev_addr[i] = s >> 8;
-                        dev->dev_addr[i+1] = s & 0xff;
+                       addr[i] = s >> 8;
+                       addr[i+1] = s & 0xff;
                 }
+               eth_hw_addr_set(dev, addr);
         }
 
        dev->irq = SLOT2IRQ(slot);