[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