summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Hershberger <joe.hershberger@ni.com>2015-03-22 17:09:07 -0500
committercodewalker <codewalker@hardkernel.com>2017-06-01 17:47:55 +0900
commit682f736d12ba52ad06830fc22637d51fb360e2ab (patch)
tree30ee05719fb8c5ec0f5ab29a2b2028e0d644b6a1
parent34d47bb3e56944e3ba632a20095fb93434ddea81 (diff)
downloadu-boot-odroid-c1-682f736d12ba52ad06830fc22637d51fb360e2ab.tar.gz
BACKPORT: net: Make netretry actually do something
netretry previously would only retry in one specific case (your MAC address is not set) and no other. This is basically useless. In the DM implementation for eth it turns this into a completely useless case since an un-configured MAC address results in not even entering the NetLoop. The behavior is now changed to retry any failed command (rotating through the eth adapters if ethrotate != no). It also defaulted to retry forever. It is now changed to default to not retry Change-Id: I3592b6e3c2db0d3512b46a41cf290cd8ccbfbfde Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Dongjin Kim <tobetter@gmail.com>
-rw-r--r--net/net.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/net/net.c b/net/net.c
index 2bea07b3cd..8f5153c9f0 100644
--- a/net/net.c
+++ b/net/net.c
@@ -528,6 +528,8 @@ restart:
(*x)();
}
+ if (net_state == NETLOOP_FAIL)
+ NetStartAgain();
switch (net_state) {
@@ -603,8 +605,10 @@ void NetStartAgain(void)
retrycnt = 1;
else
retrycnt = simple_strtoul(nretry, NULL, 0);
- } else
- retry_forever = 1;
+ } else {
+ retrycnt = 0;
+ retry_forever = 0;
+ }
if ((!retry_forever) && (NetTryCount >= retrycnt)) {
eth_halt();