--- zzzz-none-000/linux-4.4.271/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c 2021-06-03 06:22:09.000000000 +0000 +++ hawkeye-5590-750/linux-4.4.271/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c 2023-04-19 10:22:29.000000000 +0000 @@ -115,6 +115,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 */