diff --git a/reactos/base/services/dhcp/adapter.c b/reactos/base/services/dhcp/adapter.c index 18d52d2d573..ea848bc8bcc 100644 --- a/reactos/base/services/dhcp/adapter.c +++ b/reactos/base/services/dhcp/adapter.c @@ -199,9 +199,7 @@ BOOL PrepareAdapterForService( PDHCP_ADAPTER Adapter ) { Adapter->DhclientInfo.name, Adapter->BindStatus)); - add_protocol(Adapter->DhclientInfo.name, Adapter->DhclientInfo.rfdesc, got_one, &Adapter->DhclientInfo); Adapter->DhclientInfo.client->state = S_INIT; - state_reboot(&Adapter->DhclientInfo); } if( IPAddress ) free( IPAddress ); @@ -331,6 +329,15 @@ BOOLEAN AdapterDiscover() { read_client_conf(&Adapter->DhclientInfo); + if (Adapter->DhclientInfo.client->state == S_INIT) + { + add_protocol(Adapter->DhclientInfo.name, + Adapter->DhclientInfo.rfdesc, + got_one, &Adapter->DhclientInfo); + + state_init(&Adapter->DhclientInfo); + } + InsertTailList( &AdapterList, &Adapter->ListEntry ); } else { free( Adapter ); Adapter = 0; } } else { free( Adapter ); Adapter = 0; }