--- a/networking/udhcp/dhcpc.c +++ b/networking/udhcp/dhcpc.c @@ -353,7 +353,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c switch (state) { case INIT_SELECTING: - if (packet_num < discover_retries) { + if (!discover_retries || packet_num < discover_retries) { if (packet_num == 0) xid = random_xid(); @@ -383,7 +383,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c continue; case RENEW_REQUESTED: case REQUESTING: - if (packet_num < discover_retries) { + if (!discover_retries || packet_num < discover_retries) { /* send request packet */ if (state == RENEW_REQUESTED) /* unicast */ send_renew(xid, server_addr, requested_ip);