--- a/networking/udhcp/dhcpc.c +++ b/networking/udhcp/dhcpc.c @@ -380,7 +380,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(); /* broadcast */ @@ -409,7 +409,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c packet_num = 0; continue; case REQUESTING: - if (packet_num < discover_retries) { + if (!discover_retries || packet_num < discover_retries) { /* send broadcast select packet */ send_select(xid, server_addr, requested_ip); timeout = discover_timeout;