Skip to content
Snippets Groups Projects
Commit c5a75339 authored by Joe Hershberger's avatar Joe Hershberger Committed by Simon Glass
Browse files

net: Fix delay in net_retry test


Introduced in 45b47734 (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.

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: default avatarJoe Hershberger <joe.hershberger@ni.com>
Reviewed-by: default avatarStefan Brüns <stefan.bruens@rwth-aachen.de>
Acked-by: default avatarSimon Glass <sjg@chromium.org>
parent 71105f50
No related branches found
No related tags found
No related merge requests found
......@@ -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;
}
......
......@@ -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.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment