]> granicus.if.org Git - esp-idf/commitdiff
component/tcpip_adapter: not update dhcps status when it is stopped after mode switch
authorliuzhifu <liuzhifu@espressif.com>
Tue, 25 Oct 2016 01:26:10 +0000 (09:26 +0800)
committerliuzhifu <liuzhifu@espressif.com>
Tue, 25 Oct 2016 01:26:10 +0000 (09:26 +0800)
When switch the mode from WIFI_MODE_STA/WIFI_MODE_NULL to WIFI_MODE_AP/WIFI_MODE_APSTA,
if the dhcp server is STOPPED, then dhcp server will not start automatically.

components/tcpip_adapter/tcpip_adapter_lwip.c

index 78fecf2cbf3a6d21bf197625631ffd75a448c6bb..12cf05f95f7d7886c7440be068b50df1b5cfc4bb 100644 (file)
@@ -103,7 +103,9 @@ esp_err_t tcpip_adapter_stop(tcpip_adapter_if_t tcpip_if)
 
     if (tcpip_if == TCPIP_ADAPTER_IF_AP) {
         dhcps_stop(esp_netif[tcpip_if]);    // TODO: dhcps checks status by its self
-        dhcps_status = TCPIP_ADAPTER_DHCP_INIT;
+        if (TCPIP_ADAPTER_DHCP_STOPPED != dhcps_status){
+            dhcps_status = TCPIP_ADAPTER_DHCP_INIT;
+        }
     } else if (tcpip_if == TCPIP_ADAPTER_IF_STA) {
         dhcp_release(esp_netif[tcpip_if]);
         dhcp_stop(esp_netif[tcpip_if]);