diff options
author | Ramon Fried <rfried.dev@gmail.com> | 2021-02-03 21:28:59 +0200 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2021-02-18 08:20:34 -0500 |
commit | 2dddc1bb296308b48f89f31e711965fa2c8091a0 (patch) | |
tree | cdbfee4bfbcbae522bd4cccff515ec7197e9a88e /net | |
parent | 56f1bcc4b7fbca8789cef90c30f201f5b3fff757 (diff) | |
download | u-boot-2dddc1bb296308b48f89f31e711965fa2c8091a0.tar.gz |
net: tftp: Avoid sending extra ack on completion
in tftpboot, if ack was already sent previously for this
packet, don't send again.
Fixes: cc6b87ecaa96 ("net: tftp: Add client support for RFC 7440")
Reported-by: Suneel Garapati <suneelglinux@gmail.com>
Signed-off-by: Ramon Fried <rfried.dev@gmail.com>
Tested-by: Suneel Garapati <suneelglinux@gmail.com>
Tested-by: Oliver Graute <oliver.graute@kococonnector.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/tftp.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/net/tftp.c b/net/tftp.c index d8cb12120b..00ab7ca0b3 100644 --- a/net/tftp.c +++ b/net/tftp.c @@ -669,6 +669,12 @@ static void tftp_handler(uchar *pkt, unsigned dest, struct in_addr sip, break; } + if (len < tftp_block_size) { + tftp_send(); + tftp_complete(); + break; + } + /* * Acknowledge the block just received, which will prompt * the remote for the next one. @@ -677,11 +683,6 @@ static void tftp_handler(uchar *pkt, unsigned dest, struct in_addr sip, tftp_send(); tftp_next_ack += tftp_windowsize; } - - if (len < tftp_block_size) { - tftp_send(); - tftp_complete(); - } break; case TFTP_ERROR: |