Hi Joe, On Monday 21 December 2015 16:50:52 Joe Hershberger wrote: > Hi Stefan, > > On Mon, Dec 21, 2015 at 4:31 PM, Joe Hershberger <joe.hershber...@ni.com> wrote: > > Introduced in 45b4773 (net/arp: account for ARP delay, avoid duplicate > > packets on timeout) > > > > Check the arp timeout and adjust the timeout start time before the call > > to eth_recv() so that the sandbox driver has the opportunity to adjust > > the sandbox timer after the new start time has been recorded. > > This had to change to allow sandbox tests to work. Please verify that > it does not impair the behavior you intended with your patch.
I can't see any reason this change would impair the behaviour. The runtime of the eth_rx() function should be small compared to the request timeout. I haven't actually tested your change and won't be able to do until after the holydays, but as I think it is fine: Reviewed-by: Stefan Brüns <stefan.bru...@rwth-aachen.de> > > Also, change the adjustment amount by 11 seconds instead of exactly the > > 10 seconds that the ping timout is expecting since the timeout check is > > looking for the time elapsed to be greater than but not equal to the > > specified delay. > > > > Signed-off-by: Joe Hershberger <joe.hershber...@ni.com> > > > > --- > > > > drivers/net/sandbox.c | 2 +- > > net/net.c | 7 +++---- > > 2 files changed, 4 insertions(+), 5 deletions(-) > > > > diff --git a/drivers/net/sandbox.c b/drivers/net/sandbox.c > > index 6763a24..d538d37 100644 > > --- a/drivers/net/sandbox.c > > +++ b/drivers/net/sandbox.c > > @@ -157,7 +157,7 @@ static int sb_eth_recv(struct udevice *dev, int flags, > > uchar **packetp)> > > struct eth_sandbox_priv *priv = dev_get_priv(dev); > > > > if (skip_timeout) { > > > > - sandbox_timer_add_offset(10000UL); > > + sandbox_timer_add_offset(11000UL); > > > > skip_timeout = false; > > > > } > > > > diff --git a/net/net.c b/net/net.c > > index 4d5746a..fba111e 100644 > > --- a/net/net.c > > +++ b/net/net.c > > > > @@ -542,6 +542,9 @@ restart: > > #ifdef CONFIG_SHOW_ACTIVITY > > > > show_activity(1); > > > > #endif > > > > + if (arp_timeout_check() > 0) > > + time_start = get_timer(0); > > + > > > > /* > > > > * Check the ethernet for a new packet. The ethernet > > * receive routine will process it. > > > > @@ -570,10 +573,6 @@ restart: > > goto done; > > > > } > > > > - if (arp_timeout_check() > 0) { > > - time_start = get_timer(0); > > - } > > - > > > > /* > > > > * Check for a timeout, and run the timeout handler > > * if we have one. > > > > -- > > 2.5.0 > > > > _______________________________________________ > > U-Boot mailing list > > U-Boot@lists.denx.de > > http://lists.denx.de/mailman/listinfo/u-boot -- Stefan Brüns / Bergstraße 21 / 52062 Aachen home: +49 241 53809034 mobile: +49 151 50412019 work: +49 2405 49936-424 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot