2008-08-20 22:00:34 +08:00
|
|
|
--- a/networking/udhcp/dhcpc.c
|
|
|
|
+++ b/networking/udhcp/dhcpc.c
|
2009-02-21 23:07:45 +08:00
|
|
|
@@ -352,7 +352,7 @@ int udhcpc_main(int argc ATTRIBUTE_UNUSE
|
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-02-21 23:07:45 +08:00
|
|
|
@@ -382,7 +382,7 @@ int udhcpc_main(int argc ATTRIBUTE_UNUSE
|
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);
|