From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiko Schocher Date: Wed, 24 Mar 2010 12:56:28 +0100 Subject: [U-Boot] [PATCH] net, fec_mxc: use mac address stored in env before looking in eeprom Message-ID: <4BA9FDEC.9010903@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de doc/README.enetaddr prescribes, to use a mac address stored in environment, before using a mac address stored in some special place. This patch fixes this for the fec_mxc driver. Tested on the magnesium board. Signed-off-by: Heiko Schocher --- drivers/net/fec_mxc.c | 15 +++++++++++---- 1 files changed, 11 insertions(+), 4 deletions(-) diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c index 5af9cdb..b5245ec 100644 --- a/drivers/net/fec_mxc.c +++ b/drivers/net/fec_mxc.c @@ -749,11 +749,18 @@ static int fec_probe(bd_t *bd) eth_register(edev); - if (fec_get_hwaddr(edev, ethaddr) == 0) { - printf("got MAC address from EEPROM: %pM\n", ethaddr); - memcpy(edev->enetaddr, ethaddr, 6); - fec_set_hwaddr(edev); + if (!eth_getenv_enetaddr("ethaddr", ethaddr)) { + /* "ethaddr" is not set in the environment */ + if (fec_get_hwaddr(edev, ethaddr) == 0) { + printf("got MAC address from EEPROM: %pM\n", ethaddr); + eth_setenv_enetaddr("ethaddr", ethaddr); + } else { + printf ("no MAC found\n"); + return -1; + } } + memcpy(edev->enetaddr, ethaddr, 6); + fec_set_hwaddr(edev); return 0; } -- 1.6.2.5 -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany