X-Git-Url: https://git.kernelconcepts.de/?a=blobdiff_plain;f=net%2Ftftp.c;h=966d1cfba360ce7e7505dd5f806ce13543b0654c;hb=d3d5c1233156215c3c793e77dce72f2fdfe745f1;hp=6d333d559c19db8a9eac6a26ec01eaf73096babb;hpb=3be2bdf5dc69b3142c1162a59bc67191c9077567;p=karo-tx-uboot.git diff --git a/net/tftp.c b/net/tftp.c index 6d333d559c..966d1cfba3 100644 --- a/net/tftp.c +++ b/net/tftp.c @@ -281,7 +281,7 @@ static void update_block_number(void) * number of 0 this means that there was a wrap * around of the (16 bit) counter. */ - if (TftpBlock == 0) { + if (TftpBlock == 0 && TftpLastBlock != 0) { TftpBlockWrap++; TftpBlockWrapOffset += TftpBlkSize * TFTP_SEQUENCE_SIZE; TftpTimeoutCount = 0; /* we've done well, reset thhe timeout */ @@ -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 */