summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2009-02-24 00:02:41 +0000
committerRoy Marples <roy@marples.name>2009-02-24 00:02:41 +0000
commit99fec43320dddcd5885e543ba9e9cf2031a070b5 (patch)
treeb406928062f0cea20f904c665748f8274deb85bc
parent94872ce7d36d016e5dcf37b336e216dc9d6ad145 (diff)
downloaddhcpcd-99fec43320dddcd5885e543ba9e9cf2031a070b5.tar.xz
Check carrier eariler. Thanks to Michael Olney.
-rw-r--r--client.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/client.c b/client.c
index 11b529f0..d14bd751 100644
--- a/client.c
+++ b/client.c
@@ -1261,6 +1261,8 @@ handle_timeout(struct if_state *state, const struct options *options)
timerclear(&state->stop);
/* FALLTHROUGH */
case STATE_INIT:
+ if (state->carrier == LINK_DOWN)
+ return 0;
do_socket(state, SOCKET_OPEN);
state->xid = arc4random();
iface->start_uptime = uptime();
@@ -1284,8 +1286,6 @@ handle_timeout(struct if_state *state, const struct options *options)
}
/* FALLTHROUGH */
case STATE_INIT:
- if (state->carrier == LINK_DOWN)
- return 0;
if (lease->addr.s_addr == 0 ||
IN_LINKLOCAL(ntohl(iface->addr.s_addr)))
{