Currently, the timeout when waiting for packages is smaller than the
timeout communicated to the TFTP server for retransmitting. Make sure we
wait at least for two retransmissions before giving up.

Signed-off-by: Wolfram Sang <w.s...@pengutronix.de>
---
 net/tftp.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/net/tftp.c b/net/tftp.c
index ca12638..053b8f3 100644
--- a/net/tftp.c
+++ b/net/tftp.c
@@ -354,7 +354,8 @@ static int do_tftpb(int argc, char *argv[])
                        tftp_retries++;
                }
 
-               if (tftp_retries > PKT_NUM_RETRIES) {
+               /* Wait for two TIMEOUT periods and add some */
+               if (tftp_retries > 2 * TIMEOUT + 1) {
                        tftp_err = -ETIMEDOUT;
                        break;
                }
-- 
1.7.10.4


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

Reply via email to