Patchwork [U-Boot,3/3] mac: Fix the condition check for setting the MAC from the EEPROM

login
register
mail settings
Submitter Holger Freyther
Date Jan. 18, 2013, 3:19 p.m.
Message ID <1358522390-10161-3-git-send-email-holger@freyther.de>
Download mbox | patch
Permalink /patch/213647/
State Changes Requested
Delegated to: Tom Rini
Headers show

Comments

Holger Freyther - Jan. 18, 2013, 3:19 p.m.
The issue got introduced in a cleanup by Manjunath Hadli in commit
826e99136e2bce61f3f6572e32d7aa724c116e6d. The eth_getenv_enetaddr_by_index
method will validate the MAC addr and if none is set in the environment
0 will be returned. Set the MAC from the eeprom if no valid address
is found in environment.
---
 arch/arm/cpu/arm926ejs/davinci/misc.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Patch

diff --git a/arch/arm/cpu/arm926ejs/davinci/misc.c b/arch/arm/cpu/arm926ejs/davinci/misc.c
index c310c69..162c1e0 100644
--- a/arch/arm/cpu/arm926ejs/davinci/misc.c
+++ b/arch/arm/cpu/arm926ejs/davinci/misc.c
@@ -104,7 +104,7 @@  void davinci_sync_env_enetaddr(uint8_t *rom_enetaddr)
 	int ret;
 
 	ret = eth_getenv_enetaddr_by_index("eth", 0, env_enetaddr);
-	if (ret) {
+	if (!ret) {
 		/*
 		 * There is no MAC address in the environment, so we
 		 * initialize it from the value in the EEPROM.
@@ -115,7 +115,7 @@  void davinci_sync_env_enetaddr(uint8_t *rom_enetaddr)
 		ret = !eth_setenv_enetaddr("ethaddr", rom_enetaddr);
 	}
 	if (!ret)
-		printf("Failed to set mac address from EEPROM\n");
+		printf("Failed to set mac address from EEPROM: %d\n", ret);
 }
 #endif	/* CONFIG_DRIVER_TI_EMAC */