Jelajahi Sumber

Merge branch 'bugfix/alarm_not_free_when_a2dp_deinit' into 'master'

bugfix/Fixed the issue of alarm leak

See merge request espressif/esp-idf!24350
Jiang Jiang Jian 2 tahun lalu
induk
melakukan
d68898785a

+ 2 - 2
components/bt/host/bluedroid/bta/av/bta_av_act.c

@@ -1861,8 +1861,8 @@ void bta_av_dereg_comp(tBTA_AV_DATA *p_data)
             bta_sys_remove_uuid(UUID_SERVCLASS_VIDEO_SOURCE);
             bta_sys_remove_uuid(UUID_SERVCLASS_VIDEO_SOURCE);
         }
         }
 
 
-        /* make sure that the timer is not active */
-        bta_sys_stop_timer(&p_scb->timer);
+        /* free the delay timer for AVRC CT */
+        bta_sys_free_timer(&p_scb->timer);
         list_free(p_scb->a2d_list);
         list_free(p_scb->a2d_list);
         p_scb->a2d_list = NULL;
         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]);

+ 3 - 3
components/bt/host/bluedroid/bta/hf_ag/bta_ag_main.c

@@ -461,11 +461,11 @@ void bta_ag_scb_dealloc(tBTA_AG_SCB *p_scb)
 
 
     APPL_TRACE_DEBUG("bta_ag_scb_dealloc %d", bta_ag_scb_to_idx(p_scb));
     APPL_TRACE_DEBUG("bta_ag_scb_dealloc %d", bta_ag_scb_to_idx(p_scb));
     /* stop timers */
     /* stop timers */
-    bta_sys_stop_timer(&p_scb->act_timer);
+    bta_sys_free_timer(&p_scb->act_timer);
 #if (BTM_WBS_INCLUDED == TRUE)
 #if (BTM_WBS_INCLUDED == TRUE)
-    bta_sys_stop_timer(&p_scb->cn_timer);
+    bta_sys_free_timer(&p_scb->cn_timer);
 #endif
 #endif
-    bta_sys_stop_timer(&p_scb->colli_timer);
+    bta_sys_free_timer(&p_scb->colli_timer);
 
 
     /* initialize control block */
     /* initialize control block */
     memset(p_scb, 0, sizeof(tBTA_AG_SCB));
     memset(p_scb, 0, sizeof(tBTA_AG_SCB));