2008-08-20 22:00:34 +08:00
|
|
|
--- a/networking/udhcp/dhcpc.c
|
|
|
|
+++ b/networking/udhcp/dhcpc.c
|
2010-08-15 18:06:58 +08:00
|
|
|
@@ -1017,7 +1017,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-12-08 00:56:04 +08:00
|
|
|
/* broadcast */
|
2010-08-15 18:06:58 +08:00
|
|
|
@@ -1046,7 +1046,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c
|
2009-12-08 00:56:04 +08:00
|
|
|
packet_num = 0;
|
2008-08-20 22:00:34 +08:00
|
|
|
continue;
|
2006-11-10 07:41:50 +08:00
|
|
|
case REQUESTING:
|
2008-08-20 22:00:34 +08:00
|
|
|
- if (packet_num < discover_retries) {
|
|
|
|
+ if (!discover_retries || packet_num < discover_retries) {
|
2009-12-08 00:56:04 +08:00
|
|
|
/* send broadcast select packet */
|
|
|
|
send_select(xid, server_addr, requested_ip);
|
|
|
|
timeout = discover_timeout;
|