[PATCH] net: tftp: Avoid sending extra ack on completion
Ramon Fried
rfried.dev at gmail.com
Wed Feb 3 20:25:59 CET 2021
On Wed, Feb 3, 2021 at 8:43 PM Suneel Garapati <suneelglinux at gmail.com> wrote:
>
> On Wed, Feb 3, 2021 at 12:05 AM Ramon Fried <rfried.dev at gmail.com> wrote:
> >
> > 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 at gmail.com>
> > Signed-off-by: Ramon Fried <rfried.dev at gmail.com>
> > ---
> > net/tftp.c | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/net/tftp.c b/net/tftp.c
> > index 03079ded34..1111834f71 100644
> > --- a/net/tftp.c
> > +++ b/net/tftp.c
> > @@ -678,7 +678,8 @@ static void tftp_handler(uchar *pkt, unsigned dest, struct in_addr sip,
> > }
> >
> > if (len < tftp_block_size) {
> > - tftp_send();
> > + if (tftp_cur_block != tftp_next_ack)
> > + tftp_send();
> In the 'if' block above this, next_ack is incremented by window size
> already, so for size 1 this condition is always true.
> And the extra ack is sent.
>
> > tftp_complete();
> > }
> > break;
> > --
> > 2.17.1
> >
Yes, you're right, I'm not next to my setup, so I can't test it properly.
Anyhow, I'm sending V2 now, I think now it's good. Can you test ?
Thanks,
Ramon.
More information about the U-Boot
mailing list