From: Joe Hershberger Date: Sun, 22 Mar 2015 22:09:07 +0000 (-0500) Subject: net: Make netretry actually do something X-Git-Url: http://git.dujemihanovic.xyz/?a=commitdiff_plain;h=5c421331d5a8eac754c4509a4c710ef334b823c5;p=u-boot.git 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 Signed-off-by: Joe Hershberger Reviewed-by: Simon Glass --- diff --git a/net/net.c b/net/net.c index e5ab07c81d..37b4aab34d 100644 --- a/net/net.c +++ b/net/net.c @@ -527,6 +527,8 @@ restart: (*x)(); } + if (net_state == NETLOOP_FAIL) + NetStartAgain(); switch (net_state) { @@ -602,8 +604,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();