Component_bt/Fix spp crash after call esp_spp_deinit

pull/8968/head
Xiong Wei Chao 2022-04-27 13:02:23 +08:00 zatwierdzone przez Wang Meng Yang
rodzic 56914d3c81
commit af84842e8b
1 zmienionych plików z 5 dodań i 5 usunięć

Wyświetl plik

@ -519,6 +519,7 @@ static void btc_spp_init(btc_spp_args_t *arg)
}
if ((spp_local_param.tx_event_group = xEventGroupCreate()) == NULL) {
BTC_TRACE_ERROR("%s create tx_event_group failed\n", __func__);
osi_mutex_free(&spp_local_param.spp_slot_mutex);
ret = ESP_SPP_NO_RESOURCE;
break;
}
@ -582,11 +583,6 @@ static void btc_spp_uninit(void)
osi_mutex_unlock(&spp_local_param.spp_slot_mutex);
} while(0);
if (spp_local_param.tx_event_group) {
vEventGroupDelete(spp_local_param.tx_event_group);
spp_local_param.tx_event_group = NULL;
}
if (ret != ESP_SPP_SUCCESS) {
esp_spp_cb_param_t param;
param.uninit.status = ret;
@ -1256,6 +1252,10 @@ void btc_spp_cb_handler(btc_msg_t *msg)
param.uninit.status = ESP_SPP_SUCCESS;
BTA_JvFree();
osi_mutex_free(&spp_local_param.spp_slot_mutex);
if (spp_local_param.tx_event_group) {
vEventGroupDelete(spp_local_param.tx_event_group);
spp_local_param.tx_event_group = NULL;
}
#if SPP_DYNAMIC_MEMORY == TRUE
osi_free(spp_local_param_ptr);
spp_local_param_ptr = NULL;