summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorWolfram Sang <w.sang@pengutronix.de>2012-04-04 18:04:44 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2012-04-05 08:56:03 +0200
commitac29648413d1a33126ad1f98714717cbee452e55 (patch)
tree9aad139c2268e6b9a77a0f666ad4a36908d29d6a /net
parent25b0134d1498f3b235d564b2eec5998d69cd0324 (diff)
downloadbarebox-ac29648413d1a33126ad1f98714717cbee452e55.tar.gz
barebox-ac29648413d1a33126ad1f98714717cbee452e55.tar.xz
net: ping: do not retry endlessly
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'net')
-rw-r--r--net/ping.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/net/ping.c b/net/ping.c
index 4aa10f896f..bc6cf2e95e 100644
--- a/net/ping.c
+++ b/net/ping.c
@@ -56,6 +56,7 @@ static int do_ping(int argc, char *argv[])
{
int ret;
uint64_t ping_start;
+ unsigned retries = 0;
if (argc < 2)
return COMMAND_ERROR_USAGE;
@@ -94,6 +95,12 @@ static int do_ping(int argc, char *argv[])
ret = ping_send();
if (ret)
goto out_unreg;
+ retries++;
+ }
+
+ if (retries > PKT_NUM_RETRIES) {
+ ret = -ETIMEDOUT;
+ goto out_unreg;
}
}