diff options
author | Joe Hershberger <joe.hershberger@ni.com> | 2015-03-22 17:09:07 -0500 |
---|---|---|
committer | codewalker <codewalker@hardkernel.com> | 2017-06-01 17:47:55 +0900 |
commit | 682f736d12ba52ad06830fc22637d51fb360e2ab (patch) | |
tree | 30ee05719fb8c5ec0f5ab29a2b2028e0d644b6a1 | |
parent | 34d47bb3e56944e3ba632a20095fb93434ddea81 (diff) | |
download | u-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.c | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -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(); |