From: Christoph Fritz <c...@fritzc.com>

If there's packet loss and the remote server needs to retransmit,
there is falsely no timeframe left because TIMEOUT (server wait time)
and TFTP_TIMEOUT (abort timer) are the same.

This patch increases TFTP_TIMEOUT.

See RFC2349 for more info: http://tools.ietf.org/html/rfc2349

Signed-off-by: Christoph Fritz <chf.fr...@googlemail.com>
---
 fs/tftp.c |    8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/fs/tftp.c b/fs/tftp.c
index 9cad18f..b1a213e 100644
--- a/fs/tftp.c
+++ b/fs/tftp.c
@@ -33,14 +33,16 @@
 #include <kfifo.h>
 #include <sizes.h>
 
-#define TFTP_PORT      69      /* Well known TFTP port #               */
-#define TIMEOUT                5       /* Seconds to timeout for a lost pkt    
*/
+#define TFTP_PORT      69      /* Well known TFTP port number */
+
+/* Seconds to wait before remote server is allowed to resend a lost packet */
+#define TIMEOUT                5
 
 /* After this time without a response from the server we will resend a packet 
*/
 #define TFTP_RESEND_TIMEOUT    SECOND
 
 /* After this time without progress we will bail out */
-#define TFTP_TIMEOUT           (TIMEOUT * SECOND)
+#define TFTP_TIMEOUT           ((TIMEOUT * 3) * SECOND)
 
 /*
  *     TFTP operations.
-- 
1.7.10.4


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to