Examples/PPPoS: Fixed missed NETIF_PPP_STATUS event unregister

NETIF_PPP_STATUS is registerd while modem gets attached to the related netif.
we don't have any network detach functionality in the modem component, so we
unregister the event during esp_modem_netif_clear_default_handlers().

Related https://esp32.com/viewtopic.php?f=13&t=23632
Related https://github.com/espressif/esp-idf/issues/7469
This commit is contained in:
David Cermak
2021-10-18 12:58:24 +02:00
parent 633266105a
commit f129871b72

View File

@ -144,6 +144,19 @@ esp_err_t esp_modem_netif_clear_default_handlers(void *h)
if (ret != ESP_OK) {
goto clear_event_failed;
}
ret = esp_event_handler_unregister(IP_EVENT, IP_EVENT_PPP_GOT_IP, esp_netif_action_connected);
if (ret != ESP_OK) {
goto clear_event_failed;
}
ret = esp_event_handler_unregister(IP_EVENT, IP_EVENT_PPP_LOST_IP, esp_netif_action_disconnected);
if (ret != ESP_OK) {
goto clear_event_failed;
}
// this event is registered while modem gets attached to netif.
// we don't have any detach functionality, so we unregister here and ignore potential error
esp_event_handler_unregister(NETIF_PPP_STATUS, ESP_EVENT_ANY_ID, on_ppp_changed);
return ESP_OK;
clear_event_failed: