[PATCH] net/tftp: make tftpput working with servers that do not use OACK

Peter Robinson pbrobinson at gmail.com
Mon Jul 1 17:56:19 CEST 2024


Please don't put the only detail in the subject, please outline the
fix here too, that should allow a more concise subject.

> 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 2e335413492..2534dec1c9f 100644
> --- a/net/tftp.c
> +++ b/net/tftp.c
> @@ -494,8 +494,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.43.0
>


More information about the U-Boot mailing list