aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPetr Štetiar <ynezz@true.cz>2019-05-06 17:27:04 -0400
committerDavid S. Miller <davem@davemloft.net>2019-05-07 15:22:47 -0400
commita51645f70f6384ae3329551750f7f502cb8de5fc (patch)
treefc9af6d5d1fbcaa88b0eb60e543da7cec1acd12b
parent5503a6889f72d91c9ad156e6daa9ffcdc726ddc5 (diff)
net: ethernet: support of_get_mac_address new ERR_PTR error
There was NVMEM support added to of_get_mac_address, so it could now return ERR_PTR encoded error values, so we need to adjust all current users of of_get_mac_address to this new fact. While at it, remove superfluous is_valid_ether_addr as the MAC address returned from of_get_mac_address is always valid and checked by is_valid_ether_addr anyway. Fixes: d01f449c008a ("of_net: add NVMEM support to of_get_mac_address") Signed-off-by: Petr Štetiar <ynezz@true.cz> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/ethernet/aeroflex/greth.c2
-rw-r--r--drivers/net/ethernet/allwinner/sun4i-emac.c2
-rw-r--r--drivers/net/ethernet/altera/altera_tse_main.c2
-rw-r--r--drivers/net/ethernet/arc/emac_main.c2
-rw-r--r--drivers/net/ethernet/aurora/nb8800.c2
-rw-r--r--drivers/net/ethernet/broadcom/bcmsysport.c2
-rw-r--r--drivers/net/ethernet/broadcom/bgmac-bcma.c2
-rw-r--r--drivers/net/ethernet/broadcom/bgmac-platform.c2
-rw-r--r--drivers/net/ethernet/broadcom/genet/bcmgenet.c2
-rw-r--r--drivers/net/ethernet/cavium/octeon/octeon_mgmt.c2
-rw-r--r--drivers/net/ethernet/cavium/thunder/thunder_bgx.c2
-rw-r--r--drivers/net/ethernet/davicom/dm9000.c2
-rw-r--r--drivers/net/ethernet/ethoc.c2
-rw-r--r--drivers/net/ethernet/ezchip/nps_enet.c2
-rw-r--r--drivers/net/ethernet/freescale/fec_main.c2
-rw-r--r--drivers/net/ethernet/freescale/fec_mpc52xx.c2
-rw-r--r--drivers/net/ethernet/freescale/fman/mac.c2
-rw-r--r--drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c2
-rw-r--r--drivers/net/ethernet/freescale/gianfar.c2
-rw-r--r--drivers/net/ethernet/freescale/ucc_geth.c2
-rw-r--r--drivers/net/ethernet/hisilicon/hisi_femac.c2
-rw-r--r--drivers/net/ethernet/hisilicon/hix5hd2_gmac.c2
-rw-r--r--drivers/net/ethernet/lantiq_xrx200.c2
-rw-r--r--drivers/net/ethernet/marvell/mv643xx_eth.c2
-rw-r--r--drivers/net/ethernet/marvell/mvneta.c2
-rw-r--r--drivers/net/ethernet/marvell/pxa168_eth.c2
-rw-r--r--drivers/net/ethernet/marvell/sky2.c2
-rw-r--r--drivers/net/ethernet/mediatek/mtk_eth_soc.c2
-rw-r--r--drivers/net/ethernet/micrel/ks8851.c2
-rw-r--r--drivers/net/ethernet/micrel/ks8851_mll.c2
-rw-r--r--drivers/net/ethernet/nxp/lpc_eth.c2
-rw-r--r--drivers/net/ethernet/qualcomm/qca_spi.c2
-rw-r--r--drivers/net/ethernet/qualcomm/qca_uart.c2
-rw-r--r--drivers/net/ethernet/renesas/ravb_main.c2
-rw-r--r--drivers/net/ethernet/renesas/sh_eth.c2
-rw-r--r--drivers/net/ethernet/samsung/sxgbe/sxgbe_platform.c2
-rw-r--r--drivers/net/ethernet/socionext/sni_ave.c2
-rw-r--r--drivers/net/ethernet/stmicro/stmmac/stmmac_main.c2
-rw-r--r--drivers/net/ethernet/ti/cpsw.c2
-rw-r--r--drivers/net/ethernet/ti/netcp_core.c2
-rw-r--r--drivers/net/ethernet/wiznet/w5100.c2
-rw-r--r--drivers/net/ethernet/xilinx/ll_temac_main.c2
-rw-r--r--drivers/net/ethernet/xilinx/xilinx_axienet_main.c2
-rw-r--r--drivers/net/ethernet/xilinx/xilinx_emaclite.c2
-rw-r--r--net/ethernet/eth.c2
45 files changed, 45 insertions, 45 deletions
diff --git a/drivers/net/ethernet/aeroflex/greth.c b/drivers/net/ethernet/aeroflex/greth.c
index 47e5984f16fb..7c5cf0224a70 100644
--- a/drivers/net/ethernet/aeroflex/greth.c
+++ b/drivers/net/ethernet/aeroflex/greth.c
@@ -1459,7 +1459,7 @@ static int greth_of_probe(struct platform_device *ofdev)
1459 const u8 *addr; 1459 const u8 *addr;
1460 1460
1461 addr = of_get_mac_address(ofdev->dev.of_node); 1461 addr = of_get_mac_address(ofdev->dev.of_node);
1462 if (addr) { 1462 if (!IS_ERR(addr)) {
1463 for (i = 0; i < 6; i++) 1463 for (i = 0; i < 6; i++)
1464 macaddr[i] = (unsigned int) addr[i]; 1464 macaddr[i] = (unsigned int) addr[i];
1465 } else { 1465 } else {
diff --git a/drivers/net/ethernet/allwinner/sun4i-emac.c b/drivers/net/ethernet/allwinner/sun4i-emac.c
index e1acafa82214..37ebd890ef51 100644
--- a/drivers/net/ethernet/allwinner/sun4i-emac.c
+++ b/drivers/net/ethernet/allwinner/sun4i-emac.c
@@ -870,7 +870,7 @@ static int emac_probe(struct platform_device *pdev)
870 870
871 /* Read MAC-address from DT */ 871 /* Read MAC-address from DT */
872 mac_addr = of_get_mac_address(np); 872 mac_addr = of_get_mac_address(np);
873 if (mac_addr) 873 if (!IS_ERR(mac_addr))
874 memcpy(ndev->dev_addr, mac_addr, ETH_ALEN); 874 memcpy(ndev->dev_addr, mac_addr, ETH_ALEN);
875 875
876 /* Check if the MAC address is valid, if not get a random one */ 876 /* Check if the MAC address is valid, if not get a random one */
diff --git a/drivers/net/ethernet/altera/altera_tse_main.c b/drivers/net/ethernet/altera/altera_tse_main.c
index aa1d1f5339d2..877e67f4344b 100644
--- a/drivers/net/ethernet/altera/altera_tse_main.c
+++ b/drivers/net/ethernet/altera/altera_tse_main.c
@@ -1537,7 +1537,7 @@ static int altera_tse_probe(struct platform_device *pdev)
1537 1537
1538 /* get default MAC address from device tree */ 1538 /* get default MAC address from device tree */
1539 macaddr = of_get_mac_address(pdev->dev.of_node); 1539 macaddr = of_get_mac_address(pdev->dev.of_node);
1540 if (macaddr) 1540 if (!IS_ERR(macaddr))
1541 ether_addr_copy(ndev->dev_addr, macaddr); 1541 ether_addr_copy(ndev->dev_addr, macaddr);
1542 else 1542 else
1543 eth_hw_addr_random(ndev); 1543 eth_hw_addr_random(ndev);
diff --git a/drivers/net/ethernet/arc/emac_main.c b/drivers/net/ethernet/arc/emac_main.c
index ff3d68532f5f..7f89ad5c336d 100644
--- a/drivers/net/ethernet/arc/emac_main.c
+++ b/drivers/net/ethernet/arc/emac_main.c
@@ -960,7 +960,7 @@ int arc_emac_probe(struct net_device *ndev, int interface)
960 /* Get MAC address from device tree */ 960 /* Get MAC address from device tree */
961 mac_addr = of_get_mac_address(dev->of_node); 961 mac_addr = of_get_mac_address(dev->of_node);
962 962
963 if (mac_addr) 963 if (!IS_ERR(mac_addr))
964 memcpy(ndev->dev_addr, mac_addr, ETH_ALEN); 964 memcpy(ndev->dev_addr, mac_addr, ETH_ALEN);
965 else 965 else
966 eth_hw_addr_random(ndev); 966 eth_hw_addr_random(ndev);
diff --git a/drivers/net/ethernet/aurora/nb8800.c b/drivers/net/ethernet/aurora/nb8800.c
index f62deeb6e941..3c4967eecef1 100644
--- a/drivers/net/ethernet/aurora/nb8800.c
+++ b/drivers/net/ethernet/aurora/nb8800.c
@@ -1463,7 +1463,7 @@ static int nb8800_probe(struct platform_device *pdev)
1463 dev->irq = irq; 1463 dev->irq = irq;
1464 1464
1465 mac = of_get_mac_address(pdev->dev.of_node); 1465 mac = of_get_mac_address(pdev->dev.of_node);
1466 if (mac) 1466 if (!IS_ERR(mac))
1467 ether_addr_copy(dev->dev_addr, mac); 1467 ether_addr_copy(dev->dev_addr, mac);
1468 1468
1469 if (!is_valid_ether_addr(dev->dev_addr)) 1469 if (!is_valid_ether_addr(dev->dev_addr))
diff --git a/drivers/net/ethernet/broadcom/bcmsysport.c b/drivers/net/ethernet/broadcom/bcmsysport.c
index 4e87a303f83e..c623896e3ccb 100644
--- a/drivers/net/ethernet/broadcom/bcmsysport.c
+++ b/drivers/net/ethernet/broadcom/bcmsysport.c
@@ -2505,7 +2505,7 @@ static int bcm_sysport_probe(struct platform_device *pdev)
2505 2505
2506 /* Initialize netdevice members */ 2506 /* Initialize netdevice members */
2507 macaddr = of_get_mac_address(dn); 2507 macaddr = of_get_mac_address(dn);
2508 if (!macaddr || !is_valid_ether_addr(macaddr)) { 2508 if (IS_ERR(macaddr)) {
2509 dev_warn(&pdev->dev, "using random Ethernet MAC\n"); 2509 dev_warn(&pdev->dev, "using random Ethernet MAC\n");
2510 eth_hw_addr_random(dev); 2510 eth_hw_addr_random(dev);
2511 } else { 2511 } else {
diff --git a/drivers/net/ethernet/broadcom/bgmac-bcma.c b/drivers/net/ethernet/broadcom/bgmac-bcma.c
index 6fe074c1588b..34d18302b1a3 100644
--- a/drivers/net/ethernet/broadcom/bgmac-bcma.c
+++ b/drivers/net/ethernet/broadcom/bgmac-bcma.c
@@ -132,7 +132,7 @@ static int bgmac_probe(struct bcma_device *core)
132 mac = of_get_mac_address(bgmac->dev->of_node); 132 mac = of_get_mac_address(bgmac->dev->of_node);
133 133
134 /* If no MAC address assigned via device tree, check SPROM */ 134 /* If no MAC address assigned via device tree, check SPROM */
135 if (!mac) { 135 if (IS_ERR_OR_NULL(mac)) {
136 switch (core->core_unit) { 136 switch (core->core_unit) {
137 case 0: 137 case 0:
138 mac = sprom->et0mac; 138 mac = sprom->et0mac;
diff --git a/drivers/net/ethernet/broadcom/bgmac-platform.c b/drivers/net/ethernet/broadcom/bgmac-platform.c
index 894eda5b13cf..6dc0dd91ad11 100644
--- a/drivers/net/ethernet/broadcom/bgmac-platform.c
+++ b/drivers/net/ethernet/broadcom/bgmac-platform.c
@@ -193,7 +193,7 @@ static int bgmac_probe(struct platform_device *pdev)
193 bgmac->dma_dev = &pdev->dev; 193 bgmac->dma_dev = &pdev->dev;
194 194
195 mac_addr = of_get_mac_address(np); 195 mac_addr = of_get_mac_address(np);
196 if (mac_addr) 196 if (!IS_ERR(mac_addr))
197 ether_addr_copy(bgmac->net_dev->dev_addr, mac_addr); 197 ether_addr_copy(bgmac->net_dev->dev_addr, mac_addr);
198 else 198 else
199 dev_warn(&pdev->dev, "MAC address not present in device tree\n"); 199 dev_warn(&pdev->dev, "MAC address not present in device tree\n");
diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
index 4fd973571e4c..374b9ff05c88 100644
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
@@ -3476,7 +3476,7 @@ static int bcmgenet_probe(struct platform_device *pdev)
3476 3476
3477 if (dn) { 3477 if (dn) {
3478 macaddr = of_get_mac_address(dn); 3478 macaddr = of_get_mac_address(dn);
3479 if (!macaddr) { 3479 if (IS_ERR(macaddr)) {
3480 dev_err(&pdev->dev, "can't find MAC address\n"); 3480 dev_err(&pdev->dev, "can't find MAC address\n");
3481 err = -EINVAL; 3481 err = -EINVAL;
3482 goto err; 3482 goto err;
diff --git a/drivers/net/ethernet/cavium/octeon/octeon_mgmt.c b/drivers/net/ethernet/cavium/octeon/octeon_mgmt.c
index 5359c1021f42..15b1130aa4ae 100644
--- a/drivers/net/ethernet/cavium/octeon/octeon_mgmt.c
+++ b/drivers/net/ethernet/cavium/octeon/octeon_mgmt.c
@@ -1503,7 +1503,7 @@ static int octeon_mgmt_probe(struct platform_device *pdev)
1503 1503
1504 mac = of_get_mac_address(pdev->dev.of_node); 1504 mac = of_get_mac_address(pdev->dev.of_node);
1505 1505
1506 if (mac) 1506 if (!IS_ERR(mac))
1507 memcpy(netdev->dev_addr, mac, ETH_ALEN); 1507 memcpy(netdev->dev_addr, mac, ETH_ALEN);
1508 else 1508 else
1509 eth_hw_addr_random(netdev); 1509 eth_hw_addr_random(netdev);
diff --git a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c b/drivers/net/ethernet/cavium/thunder/thunder_bgx.c
index 81c281ada63b..a65be851124f 100644
--- a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c
+++ b/drivers/net/ethernet/cavium/thunder/thunder_bgx.c
@@ -1484,7 +1484,7 @@ static int bgx_init_of_phy(struct bgx *bgx)
1484 break; 1484 break;
1485 1485
1486 mac = of_get_mac_address(node); 1486 mac = of_get_mac_address(node);
1487 if (mac) 1487 if (!IS_ERR(mac))
1488 ether_addr_copy(bgx->lmac[lmac].mac, mac); 1488 ether_addr_copy(bgx->lmac[lmac].mac, mac);
1489 1489
1490 SET_NETDEV_DEV(&bgx->lmac[lmac].netdev, &bgx->pdev->dev); 1490 SET_NETDEV_DEV(&bgx->lmac[lmac].netdev, &bgx->pdev->dev);
diff --git a/drivers/net/ethernet/davicom/dm9000.c b/drivers/net/ethernet/davicom/dm9000.c
index c2586f44c29d..953ee5616801 100644
--- a/drivers/net/ethernet/davicom/dm9000.c
+++ b/drivers/net/ethernet/davicom/dm9000.c
@@ -1412,7 +1412,7 @@ static struct dm9000_plat_data *dm9000_parse_dt(struct device *dev)
1412 pdata->flags |= DM9000_PLATF_NO_EEPROM; 1412 pdata->flags |= DM9000_PLATF_NO_EEPROM;
1413 1413
1414 mac_addr = of_get_mac_address(np); 1414 mac_addr = of_get_mac_address(np);
1415 if (mac_addr) 1415 if (!IS_ERR(mac_addr))
1416 memcpy(pdata->dev_addr, mac_addr, sizeof(pdata->dev_addr)); 1416 memcpy(pdata->dev_addr, mac_addr, sizeof(pdata->dev_addr));
1417 1417
1418 return pdata; 1418 return pdata;
diff --git a/drivers/net/ethernet/ethoc.c b/drivers/net/ethernet/ethoc.c
index 0f3e7f21c6fa..71da0490521b 100644
--- a/drivers/net/ethernet/ethoc.c
+++ b/drivers/net/ethernet/ethoc.c
@@ -1153,7 +1153,7 @@ static int ethoc_probe(struct platform_device *pdev)
1153 const void *mac; 1153 const void *mac;
1154 1154
1155 mac = of_get_mac_address(pdev->dev.of_node); 1155 mac = of_get_mac_address(pdev->dev.of_node);
1156 if (mac) 1156 if (!IS_ERR(mac))
1157 ether_addr_copy(netdev->dev_addr, mac); 1157 ether_addr_copy(netdev->dev_addr, mac);
1158 priv->phy_id = -1; 1158 priv->phy_id = -1;
1159 } 1159 }
diff --git a/drivers/net/ethernet/ezchip/nps_enet.c b/drivers/net/ethernet/ezchip/nps_enet.c
index 659f1ad37e96..b4ce26155087 100644
--- a/drivers/net/ethernet/ezchip/nps_enet.c
+++ b/drivers/net/ethernet/ezchip/nps_enet.c
@@ -616,7 +616,7 @@ static s32 nps_enet_probe(struct platform_device *pdev)
616 616
617 /* set kernel MAC address to dev */ 617 /* set kernel MAC address to dev */
618 mac_addr = of_get_mac_address(dev->of_node); 618 mac_addr = of_get_mac_address(dev->of_node);
619 if (mac_addr) 619 if (!IS_ERR(mac_addr))
620 ether_addr_copy(ndev->dev_addr, mac_addr); 620 ether_addr_copy(ndev->dev_addr, mac_addr);
621 else 621 else
622 eth_hw_addr_random(ndev); 622 eth_hw_addr_random(ndev);
diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c
index a96ad20ee484..aa7d4e27c5d1 100644
--- a/drivers/net/ethernet/freescale/fec_main.c
+++ b/drivers/net/ethernet/freescale/fec_main.c
@@ -1655,7 +1655,7 @@ static void fec_get_mac(struct net_device *ndev)
1655 struct device_node *np = fep->pdev->dev.of_node; 1655 struct device_node *np = fep->pdev->dev.of_node;
1656 if (np) { 1656 if (np) {
1657 const char *mac = of_get_mac_address(np); 1657 const char *mac = of_get_mac_address(np);
1658 if (mac) 1658 if (!IS_ERR(mac))
1659 iap = (unsigned char *) mac; 1659 iap = (unsigned char *) mac;
1660 } 1660 }
1661 } 1661 }
diff --git a/drivers/net/ethernet/freescale/fec_mpc52xx.c b/drivers/net/ethernet/freescale/fec_mpc52xx.c
index c1968b3ecec8..7b7e526869a7 100644
--- a/drivers/net/ethernet/freescale/fec_mpc52xx.c
+++ b/drivers/net/ethernet/freescale/fec_mpc52xx.c
@@ -902,7 +902,7 @@ static int mpc52xx_fec_probe(struct platform_device *op)
902 * First try to read MAC address from DT 902 * First try to read MAC address from DT
903 */ 903 */
904 mac_addr = of_get_mac_address(np); 904 mac_addr = of_get_mac_address(np);
905 if (mac_addr) { 905 if (!IS_ERR(mac_addr)) {
906 memcpy(ndev->dev_addr, mac_addr, ETH_ALEN); 906 memcpy(ndev->dev_addr, mac_addr, ETH_ALEN);
907 } else { 907 } else {
908 struct mpc52xx_fec __iomem *fec = priv->fec; 908 struct mpc52xx_fec __iomem *fec = priv->fec;
diff --git a/drivers/net/ethernet/freescale/fman/mac.c b/drivers/net/ethernet/freescale/fman/mac.c
index 3c21486c6c84..9cd2c28d17df 100644
--- a/drivers/net/ethernet/freescale/fman/mac.c
+++ b/drivers/net/ethernet/freescale/fman/mac.c
@@ -724,7 +724,7 @@ static int mac_probe(struct platform_device *_of_dev)
724 724
725 /* Get the MAC address */ 725 /* Get the MAC address */
726 mac_addr = of_get_mac_address(mac_node); 726 mac_addr = of_get_mac_address(mac_node);
727 if (!mac_addr) { 727 if (IS_ERR(mac_addr)) {
728 dev_err(dev, "of_get_mac_address(%pOF) failed\n", mac_node); 728 dev_err(dev, "of_get_mac_address(%pOF) failed\n", mac_node);
729 err = -EINVAL; 729 err = -EINVAL;
730 goto _return_of_get_parent; 730 goto _return_of_get_parent;
diff --git a/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c b/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
index 7c548ed535da..90ea7a115d0f 100644
--- a/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
+++ b/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
@@ -1014,7 +1014,7 @@ static int fs_enet_probe(struct platform_device *ofdev)
1014 spin_lock_init(&fep->tx_lock); 1014 spin_lock_init(&fep->tx_lock);
1015 1015
1016 mac_addr = of_get_mac_address(ofdev->dev.of_node); 1016 mac_addr = of_get_mac_address(ofdev->dev.of_node);
1017 if (mac_addr) 1017 if (!IS_ERR(mac_addr))
1018 memcpy(ndev->dev_addr, mac_addr, ETH_ALEN); 1018 memcpy(ndev->dev_addr, mac_addr, ETH_ALEN);
1019 1019
1020 ret = fep->ops->allocate_bd(ndev); 1020 ret = fep->ops->allocate_bd(ndev);
diff --git a/drivers/net/ethernet/freescale/gianfar.c b/drivers/net/ethernet/freescale/gianfar.c
index 45fcc96be90e..df13c693b038 100644
--- a/drivers/net/ethernet/freescale/gianfar.c
+++ b/drivers/net/ethernet/freescale/gianfar.c
@@ -872,7 +872,7 @@ static int gfar_of_init(struct platform_device *ofdev, struct net_device **pdev)
872 872
873 mac_addr = of_get_mac_address(np); 873 mac_addr = of_get_mac_address(np);
874 874
875 if (mac_addr) 875 if (!IS_ERR(mac_addr))
876 memcpy(dev->dev_addr, mac_addr, ETH_ALEN); 876 memcpy(dev->dev_addr, mac_addr, ETH_ALEN);
877 877
878 if (model && !strcasecmp(model, "TSEC")) 878 if (model && !strcasecmp(model, "TSEC"))
diff --git a/drivers/net/ethernet/freescale/ucc_geth.c b/drivers/net/ethernet/freescale/ucc_geth.c
index eb3e65e8868f..216e99af2b5a 100644
--- a/drivers/net/ethernet/freescale/ucc_geth.c
+++ b/drivers/net/ethernet/freescale/ucc_geth.c
@@ -3910,7 +3910,7 @@ static int ucc_geth_probe(struct platform_device* ofdev)
3910 } 3910 }
3911 3911
3912 mac_addr = of_get_mac_address(np); 3912 mac_addr = of_get_mac_address(np);
3913 if (mac_addr) 3913 if (!IS_ERR(mac_addr))
3914 memcpy(dev->dev_addr, mac_addr, ETH_ALEN); 3914 memcpy(dev->dev_addr, mac_addr, ETH_ALEN);
3915 3915
3916 ugeth->ug_info = ug_info; 3916 ugeth->ug_info = ug_info;
diff --git a/drivers/net/ethernet/hisilicon/hisi_femac.c b/drivers/net/ethernet/hisilicon/hisi_femac.c
index 2c2808830e95..96c32ae320b0 100644
--- a/drivers/net/ethernet/hisilicon/hisi_femac.c
+++ b/drivers/net/ethernet/hisilicon/hisi_femac.c
@@ -870,7 +870,7 @@ static int hisi_femac_drv_probe(struct platform_device *pdev)
870 phy_modes(phy->interface)); 870 phy_modes(phy->interface));
871 871
872 mac_addr = of_get_mac_address(node); 872 mac_addr = of_get_mac_address(node);
873 if (mac_addr) 873 if (!IS_ERR(mac_addr))
874 ether_addr_copy(ndev->dev_addr, mac_addr); 874 ether_addr_copy(ndev->dev_addr, mac_addr);
875 if (!is_valid_ether_addr(ndev->dev_addr)) { 875 if (!is_valid_ether_addr(ndev->dev_addr)) {
876 eth_hw_addr_random(ndev); 876 eth_hw_addr_random(ndev);
diff --git a/drivers/net/ethernet/hisilicon/hix5hd2_gmac.c b/drivers/net/ethernet/hisilicon/hix5hd2_gmac.c
index e5d853b7b454..b1cb58f0aaf6 100644
--- a/drivers/net/ethernet/hisilicon/hix5hd2_gmac.c
+++ b/drivers/net/ethernet/hisilicon/hix5hd2_gmac.c
@@ -1229,7 +1229,7 @@ static int hix5hd2_dev_probe(struct platform_device *pdev)
1229 } 1229 }
1230 1230
1231 mac_addr = of_get_mac_address(node); 1231 mac_addr = of_get_mac_address(node);
1232 if (mac_addr) 1232 if (!IS_ERR(mac_addr))
1233 ether_addr_copy(ndev->dev_addr, mac_addr); 1233 ether_addr_copy(ndev->dev_addr, mac_addr);
1234 if (!is_valid_ether_addr(ndev->dev_addr)) { 1234 if (!is_valid_ether_addr(ndev->dev_addr)) {
1235 eth_hw_addr_random(ndev); 1235 eth_hw_addr_random(ndev);
diff --git a/drivers/net/ethernet/lantiq_xrx200.c b/drivers/net/ethernet/lantiq_xrx200.c
index d29104de0d53..cda641ef89af 100644
--- a/drivers/net/ethernet/lantiq_xrx200.c
+++ b/drivers/net/ethernet/lantiq_xrx200.c
@@ -478,7 +478,7 @@ static int xrx200_probe(struct platform_device *pdev)
478 } 478 }
479 479
480 mac = of_get_mac_address(np); 480 mac = of_get_mac_address(np);
481 if (mac && is_valid_ether_addr(mac)) 481 if (!IS_ERR(mac))
482 ether_addr_copy(net_dev->dev_addr, mac); 482 ether_addr_copy(net_dev->dev_addr, mac);
483 else 483 else
484 eth_hw_addr_random(net_dev); 484 eth_hw_addr_random(net_dev);
diff --git a/drivers/net/ethernet/marvell/mv643xx_eth.c b/drivers/net/ethernet/marvell/mv643xx_eth.c
index 292a668ce88e..07e254fc96ef 100644
--- a/drivers/net/ethernet/marvell/mv643xx_eth.c
+++ b/drivers/net/ethernet/marvell/mv643xx_eth.c
@@ -2749,7 +2749,7 @@ static int mv643xx_eth_shared_of_add_port(struct platform_device *pdev,
2749 } 2749 }
2750 2750
2751 mac_addr = of_get_mac_address(pnp); 2751 mac_addr = of_get_mac_address(pnp);
2752 if (mac_addr) 2752 if (!IS_ERR(mac_addr))
2753 memcpy(ppd.mac_addr, mac_addr, ETH_ALEN); 2753 memcpy(ppd.mac_addr, mac_addr, ETH_ALEN);
2754 2754
2755 mv643xx_eth_property(pnp, "tx-queue-size", ppd.tx_queue_size); 2755 mv643xx_eth_property(pnp, "tx-queue-size", ppd.tx_queue_size);
diff --git a/drivers/net/ethernet/marvell/mvneta.c b/drivers/net/ethernet/marvell/mvneta.c
index a715277ecf81..8186135883ed 100644
--- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c
@@ -4563,7 +4563,7 @@ static int mvneta_probe(struct platform_device *pdev)
4563 } 4563 }
4564 4564
4565 dt_mac_addr = of_get_mac_address(dn); 4565 dt_mac_addr = of_get_mac_address(dn);
4566 if (dt_mac_addr) { 4566 if (!IS_ERR(dt_mac_addr)) {
4567 mac_from = "device tree"; 4567 mac_from = "device tree";
4568 memcpy(dev->dev_addr, dt_mac_addr, ETH_ALEN); 4568 memcpy(dev->dev_addr, dt_mac_addr, ETH_ALEN);
4569 } else { 4569 } else {
diff --git a/drivers/net/ethernet/marvell/pxa168_eth.c b/drivers/net/ethernet/marvell/pxa168_eth.c
index 35f2142aac5e..ce037e8530fa 100644
--- a/drivers/net/ethernet/marvell/pxa168_eth.c
+++ b/drivers/net/ethernet/marvell/pxa168_eth.c
@@ -1461,7 +1461,7 @@ static int pxa168_eth_probe(struct platform_device *pdev)
1461 if (pdev->dev.of_node) 1461 if (pdev->dev.of_node)
1462 mac_addr = of_get_mac_address(pdev->dev.of_node); 1462 mac_addr = of_get_mac_address(pdev->dev.of_node);
1463 1463
1464 if (mac_addr && is_valid_ether_addr(mac_addr)) { 1464 if (!IS_ERR_OR_NULL(mac_addr)) {
1465 ether_addr_copy(dev->dev_addr, mac_addr); 1465 ether_addr_copy(dev->dev_addr, mac_addr);
1466 } else { 1466 } else {
1467 /* try reading the mac address, if set by the bootloader */ 1467 /* try reading the mac address, if set by the bootloader */
diff --git a/drivers/net/ethernet/marvell/sky2.c b/drivers/net/ethernet/marvell/sky2.c
index 8b3495ee2b6e..c4050ec594f4 100644
--- a/drivers/net/ethernet/marvell/sky2.c
+++ b/drivers/net/ethernet/marvell/sky2.c
@@ -4808,7 +4808,7 @@ static struct net_device *sky2_init_netdev(struct sky2_hw *hw, unsigned port,
4808 * 2) from internal registers set by bootloader 4808 * 2) from internal registers set by bootloader
4809 */ 4809 */
4810 iap = of_get_mac_address(hw->pdev->dev.of_node); 4810 iap = of_get_mac_address(hw->pdev->dev.of_node);
4811 if (iap) 4811 if (!IS_ERR(iap))
4812 memcpy(dev->dev_addr, iap, ETH_ALEN); 4812 memcpy(dev->dev_addr, iap, ETH_ALEN);
4813 else 4813 else
4814 memcpy_fromio(dev->dev_addr, hw->regs + B2_MAC_1 + port * 8, 4814 memcpy_fromio(dev->dev_addr, hw->regs + B2_MAC_1 + port * 8,
diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
index 53abe925ecb1..f9fbb3ffa3a6 100644
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -2028,7 +2028,7 @@ static int __init mtk_init(struct net_device *dev)
2028 const char *mac_addr; 2028 const char *mac_addr;
2029 2029
2030 mac_addr = of_get_mac_address(mac->of_node); 2030 mac_addr = of_get_mac_address(mac->of_node);
2031 if (mac_addr) 2031 if (!IS_ERR(mac_addr))
2032 ether_addr_copy(dev->dev_addr, mac_addr); 2032 ether_addr_copy(dev->dev_addr, mac_addr);
2033 2033
2034 /* If the mac address is invalid, use random mac address */ 2034 /* If the mac address is invalid, use random mac address */
diff --git a/drivers/net/ethernet/micrel/ks8851.c b/drivers/net/ethernet/micrel/ks8851.c
index 7849119d407a..b44172a901ed 100644
--- a/drivers/net/ethernet/micrel/ks8851.c
+++ b/drivers/net/ethernet/micrel/ks8851.c
@@ -425,7 +425,7 @@ static void ks8851_init_mac(struct ks8851_net *ks)
425 const u8 *mac_addr; 425 const u8 *mac_addr;
426 426
427 mac_addr = of_get_mac_address(ks->spidev->dev.of_node); 427 mac_addr = of_get_mac_address(ks->spidev->dev.of_node);
428 if (mac_addr) { 428 if (!IS_ERR(mac_addr)) {
429 memcpy(dev->dev_addr, mac_addr, ETH_ALEN); 429 memcpy(dev->dev_addr, mac_addr, ETH_ALEN);
430 ks8851_write_mac_addr(dev); 430 ks8851_write_mac_addr(dev);
431 return; 431 return;
diff --git a/drivers/net/ethernet/micrel/ks8851_mll.c b/drivers/net/ethernet/micrel/ks8851_mll.c
index c946841c0a06..dc76b0d15234 100644
--- a/drivers/net/ethernet/micrel/ks8851_mll.c
+++ b/drivers/net/ethernet/micrel/ks8851_mll.c
@@ -1327,7 +1327,7 @@ static int ks8851_probe(struct platform_device *pdev)
1327 /* overwriting the default MAC address */ 1327 /* overwriting the default MAC address */
1328 if (pdev->dev.of_node) { 1328 if (pdev->dev.of_node) {
1329 mac = of_get_mac_address(pdev->dev.of_node); 1329 mac = of_get_mac_address(pdev->dev.of_node);
1330 if (mac) 1330 if (!IS_ERR(mac))
1331 memcpy(ks->mac_addr, mac, ETH_ALEN); 1331 memcpy(ks->mac_addr, mac, ETH_ALEN);
1332 } else { 1332 } else {
1333 struct ks8851_mll_platform_data *pdata; 1333 struct ks8851_mll_platform_data *pdata;
diff --git a/drivers/net/ethernet/nxp/lpc_eth.c b/drivers/net/ethernet/nxp/lpc_eth.c
index 89d17399fb5a..da138edddd32 100644
--- a/drivers/net/ethernet/nxp/lpc_eth.c
+++ b/drivers/net/ethernet/nxp/lpc_eth.c
@@ -1368,7 +1368,7 @@ static int lpc_eth_drv_probe(struct platform_device *pdev)
1368 1368
1369 if (!is_valid_ether_addr(ndev->dev_addr)) { 1369 if (!is_valid_ether_addr(ndev->dev_addr)) {
1370 const char *macaddr = of_get_mac_address(np); 1370 const char *macaddr = of_get_mac_address(np);
1371 if (macaddr) 1371 if (!IS_ERR(macaddr))
1372 memcpy(ndev->dev_addr, macaddr, ETH_ALEN); 1372 memcpy(ndev->dev_addr, macaddr, ETH_ALEN);
1373 } 1373 }
1374 if (!is_valid_ether_addr(ndev->dev_addr)) 1374 if (!is_valid_ether_addr(ndev->dev_addr))
diff --git a/drivers/net/ethernet/qualcomm/qca_spi.c b/drivers/net/ethernet/qualcomm/qca_spi.c
index 97f92953bdb9..b28360bc2255 100644
--- a/drivers/net/ethernet/qualcomm/qca_spi.c
+++ b/drivers/net/ethernet/qualcomm/qca_spi.c
@@ -966,7 +966,7 @@ qca_spi_probe(struct spi_device *spi)
966 966
967 mac = of_get_mac_address(spi->dev.of_node); 967 mac = of_get_mac_address(spi->dev.of_node);
968 968
969 if (mac) 969 if (!IS_ERR(mac))
970 ether_addr_copy(qca->net_dev->dev_addr, mac); 970 ether_addr_copy(qca->net_dev->dev_addr, mac);
971 971
972 if (!is_valid_ether_addr(qca->net_dev->dev_addr)) { 972 if (!is_valid_ether_addr(qca->net_dev->dev_addr)) {
diff --git a/drivers/net/ethernet/qualcomm/qca_uart.c b/drivers/net/ethernet/qualcomm/qca_uart.c
index db6068cd7a1f..590616846cd1 100644
--- a/drivers/net/ethernet/qualcomm/qca_uart.c
+++ b/drivers/net/ethernet/qualcomm/qca_uart.c
@@ -351,7 +351,7 @@ static int qca_uart_probe(struct serdev_device *serdev)
351 351
352 mac = of_get_mac_address(serdev->dev.of_node); 352 mac = of_get_mac_address(serdev->dev.of_node);
353 353
354 if (mac) 354 if (!IS_ERR(mac))
355 ether_addr_copy(qca->net_dev->dev_addr, mac); 355 ether_addr_copy(qca->net_dev->dev_addr, mac);
356 356
357 if (!is_valid_ether_addr(qca->net_dev->dev_addr)) { 357 if (!is_valid_ether_addr(qca->net_dev->dev_addr)) {
diff --git a/drivers/net/ethernet/renesas/ravb_main.c b/drivers/net/ethernet/renesas/ravb_main.c
index 9618c4881c83..d3ffcf5b445a 100644
--- a/drivers/net/ethernet/renesas/ravb_main.c
+++ b/drivers/net/ethernet/renesas/ravb_main.c
@@ -111,7 +111,7 @@ static void ravb_set_buffer_align(struct sk_buff *skb)
111 */ 111 */
112static void ravb_read_mac_address(struct net_device *ndev, const u8 *mac) 112static void ravb_read_mac_address(struct net_device *ndev, const u8 *mac)
113{ 113{
114 if (mac) { 114 if (!IS_ERR(mac)) {
115 ether_addr_copy(ndev->dev_addr, mac); 115 ether_addr_copy(ndev->dev_addr, mac);
116 } else { 116 } else {
117 u32 mahr = ravb_read(ndev, MAHR); 117 u32 mahr = ravb_read(ndev, MAHR);
diff --git a/drivers/net/ethernet/renesas/sh_eth.c b/drivers/net/ethernet/renesas/sh_eth.c
index e33af371b169..4d4be6612583 100644
--- a/drivers/net/ethernet/renesas/sh_eth.c
+++ b/drivers/net/ethernet/renesas/sh_eth.c
@@ -3193,7 +3193,7 @@ static struct sh_eth_plat_data *sh_eth_parse_dt(struct device *dev)
3193 pdata->phy_interface = ret; 3193 pdata->phy_interface = ret;
3194 3194
3195 mac_addr = of_get_mac_address(np); 3195 mac_addr = of_get_mac_address(np);
3196 if (mac_addr) 3196 if (!IS_ERR(mac_addr))
3197 memcpy(pdata->mac_addr, mac_addr, ETH_ALEN); 3197 memcpy(pdata->mac_addr, mac_addr, ETH_ALEN);
3198 3198
3199 pdata->no_ether_link = 3199 pdata->no_ether_link =
diff --git a/drivers/net/ethernet/samsung/sxgbe/sxgbe_platform.c b/drivers/net/ethernet/samsung/sxgbe/sxgbe_platform.c
index fbd00cb0cb7d..d2bc9412ba03 100644
--- a/drivers/net/ethernet/samsung/sxgbe/sxgbe_platform.c
+++ b/drivers/net/ethernet/samsung/sxgbe/sxgbe_platform.c
@@ -124,7 +124,7 @@ static int sxgbe_platform_probe(struct platform_device *pdev)
124 } 124 }
125 125
126 /* Get MAC address if available (DT) */ 126 /* Get MAC address if available (DT) */
127 if (mac) 127 if (!IS_ERR_OR_NULL(mac))
128 ether_addr_copy(priv->dev->dev_addr, mac); 128 ether_addr_copy(priv->dev->dev_addr, mac);
129 129
130 /* Get the TX/RX IRQ numbers */ 130 /* Get the TX/RX IRQ numbers */
diff --git a/drivers/net/ethernet/socionext/sni_ave.c b/drivers/net/ethernet/socionext/sni_ave.c
index bb6d5fb73035..51a7b48db4bc 100644
--- a/drivers/net/ethernet/socionext/sni_ave.c
+++ b/drivers/net/ethernet/socionext/sni_ave.c
@@ -1599,7 +1599,7 @@ static int ave_probe(struct platform_device *pdev)
1599 ndev->max_mtu = AVE_MAX_ETHFRAME - (ETH_HLEN + ETH_FCS_LEN); 1599 ndev->max_mtu = AVE_MAX_ETHFRAME - (ETH_HLEN + ETH_FCS_LEN);
1600 1600
1601 mac_addr = of_get_mac_address(np); 1601 mac_addr = of_get_mac_address(np);
1602 if (mac_addr) 1602 if (!IS_ERR(mac_addr))
1603 ether_addr_copy(ndev->dev_addr, mac_addr); 1603 ether_addr_copy(ndev->dev_addr, mac_addr);
1604 1604
1605 /* if the mac address is invalid, use random mac address */ 1605 /* if the mac address is invalid, use random mac address */
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
index 5ab2733e15e2..5678b869cbff 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -4262,7 +4262,7 @@ int stmmac_dvr_probe(struct device *device,
4262 priv->wol_irq = res->wol_irq; 4262 priv->wol_irq = res->wol_irq;
4263 priv->lpi_irq = res->lpi_irq; 4263 priv->lpi_irq = res->lpi_irq;
4264 4264
4265 if (res->mac) 4265 if (!IS_ERR_OR_NULL(res->mac))
4266 memcpy(priv->dev->dev_addr, res->mac, ETH_ALEN); 4266 memcpy(priv->dev->dev_addr, res->mac, ETH_ALEN);
4267 4267
4268 dev_set_drvdata(device, priv->dev); 4268 dev_set_drvdata(device, priv->dev);
diff --git a/drivers/net/ethernet/ti/cpsw.c b/drivers/net/ethernet/ti/cpsw.c
index e37680654a13..b18eeb05b993 100644
--- a/drivers/net/ethernet/ti/cpsw.c
+++ b/drivers/net/ethernet/ti/cpsw.c
@@ -2232,7 +2232,7 @@ static int cpsw_probe_dt(struct cpsw_platform_data *data,
2232 2232
2233no_phy_slave: 2233no_phy_slave:
2234 mac_addr = of_get_mac_address(slave_node); 2234 mac_addr = of_get_mac_address(slave_node);
2235 if (mac_addr) { 2235 if (!IS_ERR(mac_addr)) {
2236 memcpy(slave_data->mac_addr, mac_addr, ETH_ALEN); 2236 memcpy(slave_data->mac_addr, mac_addr, ETH_ALEN);
2237 } else { 2237 } else {
2238 ret = ti_cm_get_macid(&pdev->dev, i, 2238 ret = ti_cm_get_macid(&pdev->dev, i,
diff --git a/drivers/net/ethernet/ti/netcp_core.c b/drivers/net/ethernet/ti/netcp_core.c
index 01d4ca331f8c..642843945031 100644
--- a/drivers/net/ethernet/ti/netcp_core.c
+++ b/drivers/net/ethernet/ti/netcp_core.c
@@ -2037,7 +2037,7 @@ static int netcp_create_interface(struct netcp_device *netcp_device,
2037 devm_release_mem_region(dev, res.start, size); 2037 devm_release_mem_region(dev, res.start, size);
2038 } else { 2038 } else {
2039 mac_addr = of_get_mac_address(node_interface); 2039 mac_addr = of_get_mac_address(node_interface);
2040 if (mac_addr) 2040 if (!IS_ERR(mac_addr))
2041 ether_addr_copy(ndev->dev_addr, mac_addr); 2041 ether_addr_copy(ndev->dev_addr, mac_addr);
2042 else 2042 else
2043 eth_random_addr(ndev->dev_addr); 2043 eth_random_addr(ndev->dev_addr);
diff --git a/drivers/net/ethernet/wiznet/w5100.c b/drivers/net/ethernet/wiznet/w5100.c
index d8ba512f166a..b0052933993b 100644
--- a/drivers/net/ethernet/wiznet/w5100.c
+++ b/drivers/net/ethernet/wiznet/w5100.c
@@ -1164,7 +1164,7 @@ int w5100_probe(struct device *dev, const struct w5100_ops *ops,
1164 INIT_WORK(&priv->setrx_work, w5100_setrx_work); 1164 INIT_WORK(&priv->setrx_work, w5100_setrx_work);
1165 INIT_WORK(&priv->restart_work, w5100_restart_work); 1165 INIT_WORK(&priv->restart_work, w5100_restart_work);
1166 1166
1167 if (mac_addr) 1167 if (!IS_ERR_OR_NULL(mac_addr))
1168 memcpy(ndev->dev_addr, mac_addr, ETH_ALEN); 1168 memcpy(ndev->dev_addr, mac_addr, ETH_ALEN);
1169 else 1169 else
1170 eth_hw_addr_random(ndev); 1170 eth_hw_addr_random(ndev);
diff --git a/drivers/net/ethernet/xilinx/ll_temac_main.c b/drivers/net/ethernet/xilinx/ll_temac_main.c
index 985199100b7d..f389a819f058 100644
--- a/drivers/net/ethernet/xilinx/ll_temac_main.c
+++ b/drivers/net/ethernet/xilinx/ll_temac_main.c
@@ -1252,7 +1252,7 @@ static int temac_probe(struct platform_device *pdev)
1252 if (temac_np) { 1252 if (temac_np) {
1253 /* Retrieve the MAC address */ 1253 /* Retrieve the MAC address */
1254 addr = of_get_mac_address(temac_np); 1254 addr = of_get_mac_address(temac_np);
1255 if (!addr) { 1255 if (IS_ERR(addr)) {
1256 dev_err(&pdev->dev, "could not find MAC address\n"); 1256 dev_err(&pdev->dev, "could not find MAC address\n");
1257 return -ENODEV; 1257 return -ENODEV;
1258 } 1258 }
diff --git a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
index 4041c75997ba..108fbc7f125a 100644
--- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
+++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
@@ -1596,7 +1596,7 @@ static int axienet_probe(struct platform_device *pdev)
1596 1596
1597 /* Retrieve the MAC address */ 1597 /* Retrieve the MAC address */
1598 mac_addr = of_get_mac_address(pdev->dev.of_node); 1598 mac_addr = of_get_mac_address(pdev->dev.of_node);
1599 if (!mac_addr) { 1599 if (IS_ERR(mac_addr)) {
1600 dev_err(&pdev->dev, "could not find MAC address\n"); 1600 dev_err(&pdev->dev, "could not find MAC address\n");
1601 goto free_netdev; 1601 goto free_netdev;
1602 } 1602 }
diff --git a/drivers/net/ethernet/xilinx/xilinx_emaclite.c b/drivers/net/ethernet/xilinx/xilinx_emaclite.c
index fc38692da71e..691170753563 100644
--- a/drivers/net/ethernet/xilinx/xilinx_emaclite.c
+++ b/drivers/net/ethernet/xilinx/xilinx_emaclite.c
@@ -1165,7 +1165,7 @@ static int xemaclite_of_probe(struct platform_device *ofdev)
1165 lp->rx_ping_pong = get_bool(ofdev, "xlnx,rx-ping-pong"); 1165 lp->rx_ping_pong = get_bool(ofdev, "xlnx,rx-ping-pong");
1166 mac_address = of_get_mac_address(ofdev->dev.of_node); 1166 mac_address = of_get_mac_address(ofdev->dev.of_node);
1167 1167
1168 if (mac_address) { 1168 if (!IS_ERR(mac_address)) {
1169 /* Set the MAC address. */ 1169 /* Set the MAC address. */
1170 memcpy(ndev->dev_addr, mac_address, ETH_ALEN); 1170 memcpy(ndev->dev_addr, mac_address, ETH_ALEN);
1171 } else { 1171 } else {
diff --git a/net/ethernet/eth.c b/net/ethernet/eth.c
index fddcee38c1da..4b2b222377ac 100644
--- a/net/ethernet/eth.c
+++ b/net/ethernet/eth.c
@@ -560,7 +560,7 @@ int eth_platform_get_mac_address(struct device *dev, u8 *mac_addr)
560 addr = NULL; 560 addr = NULL;
561 if (dp) 561 if (dp)
562 addr = of_get_mac_address(dp); 562 addr = of_get_mac_address(dp);
563 if (!addr) 563 if (IS_ERR_OR_NULL(addr))
564 addr = arch_get_platform_mac_address(); 564 addr = arch_get_platform_mac_address();
565 565
566 if (!addr) 566 if (!addr)