[PATCH] net: tftp: Avoid sending extra ack on completion

Suneel Garapati suneelglinux at gmail.com
Wed Feb 3 21:56:42 CET 2021


On Wed, Feb 3, 2021 at 11:26 AM Ramon Fried <rfried.dev at gmail.com> wrote:
>
> 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.

Tested without issues for window size 1.

Thanks,
Suneel


More information about the U-Boot mailing list