|
@@ -759,6 +759,7 @@ static int eap_peer_sm_init(void)
|
|
|
if (ret) {
|
|
if (ret) {
|
|
|
wpa_printf(MSG_ERROR, "eap_peer_blob_init failed\n");
|
|
wpa_printf(MSG_ERROR, "eap_peer_blob_init failed\n");
|
|
|
os_free(sm);
|
|
os_free(sm);
|
|
|
|
|
+ vSemaphoreDelete(s_wpa2_data_lock);
|
|
|
return ESP_FAIL;
|
|
return ESP_FAIL;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -767,6 +768,7 @@ static int eap_peer_sm_init(void)
|
|
|
wpa_printf(MSG_ERROR, "eap_peer_config_init failed\n");
|
|
wpa_printf(MSG_ERROR, "eap_peer_config_init failed\n");
|
|
|
eap_peer_blob_deinit(sm);
|
|
eap_peer_blob_deinit(sm);
|
|
|
os_free(sm);
|
|
os_free(sm);
|
|
|
|
|
+ vSemaphoreDelete(s_wpa2_data_lock);
|
|
|
return ESP_FAIL;
|
|
return ESP_FAIL;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -777,6 +779,7 @@ static int eap_peer_sm_init(void)
|
|
|
eap_peer_blob_deinit(sm);
|
|
eap_peer_blob_deinit(sm);
|
|
|
eap_peer_config_deinit(sm);
|
|
eap_peer_config_deinit(sm);
|
|
|
os_free(sm);
|
|
os_free(sm);
|
|
|
|
|
+ vSemaphoreDelete(s_wpa2_data_lock);
|
|
|
return ESP_FAIL;
|
|
return ESP_FAIL;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -788,6 +791,12 @@ static int eap_peer_sm_init(void)
|
|
|
xTaskCreate(wpa2_task, "wpa2T", WPA2_TASK_STACK_SIZE, NULL, 2, s_wpa2_task_hdl);
|
|
xTaskCreate(wpa2_task, "wpa2T", WPA2_TASK_STACK_SIZE, NULL, 2, s_wpa2_task_hdl);
|
|
|
s_wifi_wpa2_sync_sem = xSemaphoreCreateCounting(1, 0);
|
|
s_wifi_wpa2_sync_sem = xSemaphoreCreateCounting(1, 0);
|
|
|
if (!s_wifi_wpa2_sync_sem) {
|
|
if (!s_wifi_wpa2_sync_sem) {
|
|
|
|
|
+ vQueueDelete(s_wpa2_queue);
|
|
|
|
|
+ s_wpa2_queue = NULL;
|
|
|
|
|
+ eap_peer_blob_deinit(sm);
|
|
|
|
|
+ eap_peer_config_deinit(sm);
|
|
|
|
|
+ os_free(sm);
|
|
|
|
|
+ vSemaphoreDelete(s_wpa2_data_lock);
|
|
|
wpa_printf(MSG_ERROR, "WPA2: failed create wifi wpa2 task sync sem");
|
|
wpa_printf(MSG_ERROR, "WPA2: failed create wifi wpa2 task sync sem");
|
|
|
return ESP_FAIL;
|
|
return ESP_FAIL;
|
|
|
}
|
|
}
|