Move the reading of ETH_MAC_ADDR.
Move the reading of the sysvars for ETH_MAC_ADDR and PON_MAC_ADDR
to be after the reading of those variables from the uboot environment.
We want the sysvar variables to take precedence over the uboot
environment variables.
Change-Id: I78644e1d3748ecf7ea142ffde806bbf9836077b0
diff --git a/board/mv_feroceon/mv_kw2/mv_main.c b/board/mv_feroceon/mv_kw2/mv_main.c
index f2dd23b..89c29ae 100644
--- a/board/mv_feroceon/mv_kw2/mv_main.c
+++ b/board/mv_feroceon/mv_kw2/mv_main.c
@@ -841,14 +841,14 @@
sprintf(ethaddr_1,"00:50:43:%02x:%02x:%02x",xl,xi,xj);
sprintf(pon_addr,"00:50:43:%02x:%02x:%02x",xj,xk,xl);
- /* sf_getvar overwrites the buffer only when the sysvar exists */
- sf_getvar("ETH_MAC_ADDR", ethaddr_0, sizeof(ethaddr_0));
- sf_getvar("PON_MAC_ADDR", pon_addr, sizeof(pon_addr));
/* MAC addresses */
env = getenv("ethaddr");
if(!env)
setenv("ethaddr",ethaddr_0);
+ /* Override ethaddr_0 from sysvar, only overwrites if sysvar is set. */
+ if (!sf_getvar("ETH_MAC_ADDR", ethaddr_0, sizeof(ethaddr_0)))
+ setenv("ethaddr",ethaddr_0);
env = getenv("eth1addr");
if(!env)
@@ -857,6 +857,9 @@
env = getenv("mv_pon_addr");
if(!env)
setenv("mv_pon_addr",pon_addr);
+ /* Override pon_addr from sysvars, only overwrites if sysvar is set. */
+ if (!sf_getvar("PON_MAC_ADDR", pon_addr, sizeof(pon_addr)))
+ setenv("mv_pon_addr",pon_addr);
env = getenv("ethmtu");
if(!env)