diff -ur busybox.old/networking/udhcp/dhcpc.c busybox.dev/networking/udhcp/dhcpc.c --- busybox.old/networking/udhcp/dhcpc.c 2006-11-10 00:17:26.000000000 +0100 +++ busybox.dev/networking/udhcp/dhcpc.c 2006-11-10 00:17:10.000000000 +0100 @@ -330,7 +330,7 @@ /* timeout dropped to zero */ switch (state) { case INIT_SELECTING: - if (packet_num < client_config.retries) { + if (!client_config.retries || (packet_num < client_config.retries)) { if (packet_num == 0) xid = random_xid(); @@ -355,7 +355,7 @@ break; case RENEW_REQUESTED: case REQUESTING: - if (packet_num < client_config.retries) { + if (!client_config.retries || (packet_num < client_config.retries)) { /* send request packet */ if (state == RENEW_REQUESTED) send_renew(xid, server_addr, requested_ip); /* unicast */