[U-Boot] [PATCH] net: tftp: Make sure timeout will not effect wrap offset
rockly
rockly703 at gmail.com
Sat Aug 3 12:09:05 CEST 2013
Hi:
When the block 0 store to the memory of client and timeout at this
moment. Because of no ACK packet, the server will send block 0 again,
if this client reconnect to the server at this time ,
TftpBlockWrapOffset will become larger than it should be.
Signed-off-by : Rockly <rocklygnome at gmail.com>
---
diff --git a/net/tftp.c b/net/tftp.c
index 6d333d5..2e06808 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 */
More information about the U-Boot
mailing list