Forráskód Böngészése

esp-modem: Remove esp-netif destroy from modem network glue code

To be in line with other interfaces, when deleting the driver and it's glue layer to esp-netif, we DO NOT delete the related esp-netif (since is was allocated and created outside of the glue code and it works the same way in esp-eth and esp-wifi driver/glue layers).

Closes https://github.com/espressif/esp-idf/issues/5486
David Cermak 5 éve
szülő
commit
53fc156adb

+ 0 - 1
examples/protocols/pppos_client/components/modem/src/esp_modem_netif.c

@@ -109,7 +109,6 @@ drv_create_failed:
 void esp_modem_netif_teardown(void *h)
 {
     esp_modem_netif_driver_t *driver = h;
-    esp_netif_destroy(driver->base.netif);
     free(driver);
 }
 

+ 2 - 1
examples/protocols/pppos_client/main/pppos_client_main.c

@@ -294,9 +294,10 @@ void app_main(void)
     esp_mqtt_client_destroy(mqtt_client);
     /* Exit PPP mode */
     ESP_ERROR_CHECK(esp_modem_stop_ppp(dte));
-    /* Destroy the netif adapter withe events, which internally frees also the esp-netif instance */
+    /* Unregister events, destroy the netif adapter and destroy its esp-netif instance */
     esp_modem_netif_clear_default_handlers(modem_netif_adapter);
     esp_modem_netif_teardown(modem_netif_adapter);
+    esp_netif_destroy(esp_netif);
     xEventGroupWaitBits(event_group, STOP_BIT, pdTRUE, pdTRUE, portMAX_DELAY);
 #if CONFIG_EXAMPLE_SEND_MSG
     const char *message = "Welcome to ESP32!";

+ 3 - 1
tools/test_apps/protocols/pppos/main/pppos_client_main.c

@@ -258,9 +258,11 @@ void app_main(void)
     ESP_ERROR_CHECK(esp_modem_stop_ppp(dte));
     /* Wait for the PPP connection to terminate gracefully */
     xEventGroupWaitBits(event_group, DISCONNECT_BIT, pdTRUE, pdTRUE, portMAX_DELAY);
-    /* Destroy the netif adapter withe events, which internally frees also the esp-netif instance */
+    /* Unregister events, destroy the netif adapter and destroy its esp-netif instance */
     esp_modem_netif_clear_default_handlers(modem_netif_adapter);
     esp_modem_netif_teardown(modem_netif_adapter);
+    esp_netif_destroy(esp_netif);
+
     xEventGroupWaitBits(event_group, STOP_BIT, pdTRUE, pdTRUE, portMAX_DELAY);
     ESP_ERROR_CHECK(dce->deinit(dce));
     ESP_ERROR_CHECK(dte->deinit(dte));