mirror of
https://github.com/espressif/esp-idf.git
synced 2025-07-30 10:47:19 +02:00
component/bt: Fix mem leak of bt in v3.0
This commit is contained in:
@ -1847,6 +1847,8 @@ void bta_av_dereg_comp(tBTA_AV_DATA *p_data)
|
|||||||
|
|
||||||
/* make sure that the timer is not active */
|
/* make sure that the timer is not active */
|
||||||
bta_sys_stop_timer(&p_scb->timer);
|
bta_sys_stop_timer(&p_scb->timer);
|
||||||
|
list_free(p_scb->a2d_list);
|
||||||
|
p_scb->a2d_list = NULL;
|
||||||
utl_freebuf((void **)&p_cb->p_scb[p_scb->hdi]);
|
utl_freebuf((void **)&p_cb->p_scb[p_scb->hdi]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -319,6 +319,11 @@ error_exit:;
|
|||||||
xBtcMediaCtrlQueue = NULL;
|
xBtcMediaCtrlQueue = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (xBtcMediaQueueSet) {
|
||||||
|
vQueueDelete(xBtcMediaQueueSet);
|
||||||
|
xBtcMediaQueueSet = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
fixed_queue_free(btc_media_cmd_msg_queue, NULL);
|
fixed_queue_free(btc_media_cmd_msg_queue, NULL);
|
||||||
btc_media_cmd_msg_queue = NULL;
|
btc_media_cmd_msg_queue = NULL;
|
||||||
return false;
|
return false;
|
||||||
@ -340,6 +345,9 @@ void btc_a2dp_stop_media_task(void)
|
|||||||
vQueueDelete(xBtcMediaCtrlQueue);
|
vQueueDelete(xBtcMediaCtrlQueue);
|
||||||
xBtcMediaCtrlQueue = NULL;
|
xBtcMediaCtrlQueue = NULL;
|
||||||
|
|
||||||
|
vQueueDelete(xBtcMediaQueueSet);
|
||||||
|
xBtcMediaQueueSet = NULL;
|
||||||
|
|
||||||
fixed_queue_free(btc_media_cmd_msg_queue, NULL);
|
fixed_queue_free(btc_media_cmd_msg_queue, NULL);
|
||||||
btc_media_cmd_msg_queue = NULL;
|
btc_media_cmd_msg_queue = NULL;
|
||||||
}
|
}
|
||||||
|
@ -33,7 +33,7 @@ static xTaskHandle bt_app_task_handle = NULL;
|
|||||||
bool bt_app_work_dispatch(bt_app_cb_t p_cback, uint16_t event, void *p_params, int param_len, bt_app_copy_cb_t p_copy_cback)
|
bool bt_app_work_dispatch(bt_app_cb_t p_cback, uint16_t event, void *p_params, int param_len, bt_app_copy_cb_t p_copy_cback)
|
||||||
{
|
{
|
||||||
ESP_LOGD(BT_APP_CORE_TAG, "%s event 0x%x, param len %d", __func__, event, param_len);
|
ESP_LOGD(BT_APP_CORE_TAG, "%s event 0x%x, param len %d", __func__, event, param_len);
|
||||||
|
|
||||||
bt_app_msg_t msg;
|
bt_app_msg_t msg;
|
||||||
memset(&msg, 0, sizeof(bt_app_msg_t));
|
memset(&msg, 0, sizeof(bt_app_msg_t));
|
||||||
|
|
||||||
@ -102,7 +102,7 @@ static void bt_app_task_handler(void *arg)
|
|||||||
void bt_app_task_start_up(void)
|
void bt_app_task_start_up(void)
|
||||||
{
|
{
|
||||||
bt_app_task_queue = xQueueCreate(10, sizeof(bt_app_msg_t));
|
bt_app_task_queue = xQueueCreate(10, sizeof(bt_app_msg_t));
|
||||||
xTaskCreate(bt_app_task_handler, "BtAppT", 2048, NULL, configMAX_PRIORITIES - 3, bt_app_task_handle);
|
xTaskCreate(bt_app_task_handler, "BtAppT", 2048, NULL, configMAX_PRIORITIES - 3, &bt_app_task_handle);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user