2008-08-20 22:00:34 +08:00
|
|
|
--- a/networking/udhcp/dhcpc.c
|
|
|
|
+++ b/networking/udhcp/dhcpc.c
|
2009-09-28 20:38:46 +08:00
|
|
|
@@ -363,7 +363,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c
|
2008-08-20 22:00:34 +08:00
|
|
|
|
2006-11-10 07:41:50 +08:00
|
|
|
switch (state) {
|
|
|
|
case INIT_SELECTING:
|
2008-08-20 22:00:34 +08:00
|
|
|
- if (packet_num < discover_retries) {
|
|
|
|
+ if (!discover_retries || packet_num < discover_retries) {
|
2006-11-10 07:41:50 +08:00
|
|
|
if (packet_num == 0)
|
|
|
|
xid = random_xid();
|
|
|
|
|
2009-09-28 20:38:46 +08:00
|
|
|
@@ -394,7 +394,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c
|
2008-08-20 22:00:34 +08:00
|
|
|
continue;
|
2006-11-10 07:41:50 +08:00
|
|
|
case RENEW_REQUESTED:
|
|
|
|
case REQUESTING:
|
2008-08-20 22:00:34 +08:00
|
|
|
- if (packet_num < discover_retries) {
|
|
|
|
+ if (!discover_retries || packet_num < discover_retries) {
|
2006-11-10 07:41:50 +08:00
|
|
|
/* send request packet */
|
2008-08-20 22:00:34 +08:00
|
|
|
if (state == RENEW_REQUESTED) /* unicast */
|
|
|
|
send_renew(xid, server_addr, requested_ip);
|