aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Hershberger <joe.hershberger@ni.com>2012-07-23 13:11:16 +0000
committerJoe Hershberger <joe.hershberger@ni.com>2012-07-24 14:09:40 -0500
commita03d63880578bc688c76dd5ac88e44dffbbb5262 (patch)
tree6e6987cde68728f7fc4f217127a59f5296ab66d1
parent8b10652d6d9cc05023b5a6b73840078066f95a50 (diff)
net: Make sure the ethaddr is updated in net_init()
NetConsole may call NetSendUDPPacket before NetLoop is called. This will cause the source MAC address (NetOurEther) to be wrong. Instead of only changing it in NetLoop, move it to NetLoopInit so that it is also updated when net_init() is called (especially by nc_start()). Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reported-by: Michael Walle <michael@walle.cc> Acked-by: Michael Walle <michael@walle.cc>
-rw-r--r--net/net.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/net/net.c b/net/net.c
index 9de7d9264..e8ff0662b 100644
--- a/net/net.c
+++ b/net/net.c
@@ -256,6 +256,7 @@ static void NetInitLoop(void)
#endif
env_changed_id = env_id;
}
+ memcpy(NetOurEther, eth_get_dev()->enetaddr, 6);
return;
}
@@ -322,8 +323,6 @@ int NetLoop(enum proto_t protocol)
}
restart:
- memcpy(NetOurEther, eth_get_dev()->enetaddr, 6);
-
net_set_state(NETLOOP_CONTINUE);
/*