--- zzzz-none-000/linux-4.4.60/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c 2017-04-08 07:53:53.000000000 +0000 +++ scorpion-7490-727/linux-4.4.60/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c 2021-02-04 17:41:59.000000000 +0000 @@ -116,6 +116,19 @@ return ERR_PTR(-ENOMEM); *mac = of_get_mac_address(np); + if (!*mac) { + u8 mtd_mac[ETH_ALEN]; + int ret; + + ret = of_get_mac_address_mtd(np, mtd_mac); + if (ret == -EPROBE_DEFER) + return ERR_PTR(ret); + + if (is_valid_ether_addr(mtd_mac)) + *mac = devm_kmemdup(&pdev->dev, mtd_mac, ETH_ALEN, + GFP_KERNEL); + } + plat->interface = of_get_phy_mode(np); /* Get max speed of operation from device tree */