[PATCH 7/7] net/tftp: make tftpput working with servers that do not use OACK
mikhail.kshevetskiy at iopsys.eu
mikhail.kshevetskiy at iopsys.eu
Thu Oct 6 05:18:13 CEST 2022
From: Mikhail Kshevetskiy <mikhail.kshevetskiy at iopsys.eu>
Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy at iopsys.eu>
---
net/tftp.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/net/tftp.c b/net/tftp.c
index dea9c25ffd..e120e4d766 100644
--- a/net/tftp.c
+++ b/net/tftp.c
@@ -483,8 +483,15 @@ static void tftp_handler(uchar *pkt, unsigned dest, struct in_addr sip,
tftp_prev_block = tftp_cur_block;
tftp_cur_block = (unsigned short)(block + 1);
update_block_number();
- if (ack_ok)
+ if (ack_ok) {
+ if (block == 0 &&
+ tftp_state == STATE_SEND_WRQ){
+ /* connection's first ACK */
+ tftp_state = STATE_DATA;
+ tftp_remote_port = src;
+ }
tftp_send(); /* Send next data block */
+ }
}
}
#endif
--
2.35.1
More information about the U-Boot
mailing list