NetServerEther was not being cleared in the tftp server code, so the
destination MAC address would be whatever the last destination MAC
address was.

Scenario:
U-Boot:
        dhcp
        tftpsrv
Host:
        Send device WRQ
Device:
        Responds with ACK to dhcp server mac address with
        host ip address

By clearing NetServerEther, we force a lookup of the host MAC address
to go with the associated host IP.

Signed-off-by: Andrew Ruder <andrew.ru...@elecsyscorp.com>
---
 net/tftp.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/net/tftp.c b/net/tftp.c
index 6d333d5..002052a 100644
--- a/net/tftp.c
+++ b/net/tftp.c
@@ -849,6 +849,9 @@ TftpStartServer(void)
 
        TftpState = STATE_RECV_WRQ;
        net_set_udp_handler(TftpHandler);
+
+       /* zero out server ether in case the server ip has changed */
+       memset(NetServerEther, 0, 6);
 }
 #endif /* CONFIG_CMD_TFTPSRV */
 
-- 
1.8.4.rc3

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to