Ignore the return value of eth_getenv_enetaddr_by_index(), and if it
fails, fall back to use dev->enetaddr, which could be filled up by
the ethernet device driver.

Actually, this is the original behavior, and was later changed by
commit 48506a2cde2458fa1f8c5993afc98e5a4617e1d3.

Signed-off-by: Eric Miao <[email protected]>
---
 net/eth.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/net/eth.c b/net/eth.c
index a34fe59..c4fbe11 100644
--- a/net/eth.c
+++ b/net/eth.c
@@ -195,8 +195,7 @@ int eth_write_hwaddr(struct eth_device *dev, const char 
*base_name,
        unsigned char env_enetaddr[6];
        int ret = 0;
 
-       if (!eth_getenv_enetaddr_by_index(base_name, eth_number, env_enetaddr))
-               return -1;
+       eth_getenv_enetaddr_by_index(base_name, eth_number, env_enetaddr);
 
        if (memcmp(env_enetaddr, "\0\0\0\0\0\0", 6)) {
                if (memcmp(dev->enetaddr, "\0\0\0\0\0\0", 6) &&
-- 
1.7.4.1

_______________________________________________
U-Boot mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to