summaryrefslogtreecommitdiffstats
path: root/src/drivers/net/lan78xx.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/net/lan78xx.c')
-rw-r--r--src/drivers/net/lan78xx.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/drivers/net/lan78xx.c b/src/drivers/net/lan78xx.c
index 3f705203..a8cf5740 100644
--- a/src/drivers/net/lan78xx.c
+++ b/src/drivers/net/lan78xx.c
@@ -97,6 +97,10 @@ static int lan78xx_fetch_mac ( struct smscusb_device *smscusb ) {
if ( ( rc = smscusb_otp_fetch_mac ( smscusb, LAN78XX_OTP_BASE ) ) == 0 )
return 0;
+ /* Read MAC address from device tree, if present */
+ if ( ( rc = smscusb_fdt_fetch_mac ( smscusb ) ) == 0 )
+ return 0;
+
/* Otherwise, generate a random MAC address */
eth_random_addr ( netdev->hw_addr );
DBGC ( smscusb, "LAN78XX %p using random MAC %s\n",