diff options
author | Petr Štetiar <ynezz@true.cz> | 2019-05-06 17:27:04 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-05-07 15:22:47 -0400 |
commit | a51645f70f6384ae3329551750f7f502cb8de5fc (patch) | |
tree | fc9af6d5d1fbcaa88b0eb60e543da7cec1acd12b | |
parent | 5503a6889f72d91c9ad156e6daa9ffcdc726ddc5 (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>
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 | */ |
112 | static void ravb_read_mac_address(struct net_device *ndev, const u8 *mac) | 112 | static 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 | ||
2233 | no_phy_slave: | 2233 | no_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) |