Skip to content

Commit

Permalink
Merge branch 'bugfix/fix_ble_host_crash_on_deinitialization' into 'ma…
Browse files Browse the repository at this point in the history
…ster'

fix(ble/bluedroid): Fixed BLE crash when repeatedly iniitialize and deinitialize host

Closes BLERP-584 and BLERP-583

See merge request espressif/esp-idf!29319
  • Loading branch information
esp-zhp committed Mar 8, 2024
2 parents 2103c3b + 82c2602 commit e7d8850
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 1 deletion.
5 changes: 5 additions & 0 deletions components/bt/host/bluedroid/bta/dm/bta_dm_act.c
Original file line number Diff line number Diff line change
Expand Up @@ -615,6 +615,11 @@ void bta_dm_disable (tBTA_DM_MSG *p_data)
btm_ble_resolving_list_cleanup (); //by TH, because cmn_ble_vsc_cb.max_filter has something mistake as btm_ble_adv_filter_cleanup
#endif

#if BLE_INCLUDED == TRUE
// btm_ble_multi_adv_init is called when the host is enabled, so btm_ble_multi_adv_cleanup is called when the host is disabled.
btm_ble_multi_adv_cleanup();
#endif

}

/*******************************************************************************
Expand Down
1 change: 0 additions & 1 deletion components/bt/host/bluedroid/bta/dm/bta_dm_api.c
Original file line number Diff line number Diff line change
Expand Up @@ -2921,7 +2921,6 @@ void BTA_VendorCleanup (void)
}
#endif

btm_ble_multi_adv_cleanup();
}
#if (BLE_50_FEATURE_SUPPORT == TRUE)
void BTA_DmBleGapReadPHY(BD_ADDR addr)
Expand Down
7 changes: 7 additions & 0 deletions components/bt/host/bluedroid/stack/btm/btm_ble_multi_adv.c
Original file line number Diff line number Diff line change
Expand Up @@ -824,6 +824,13 @@ void btm_ble_multi_adv_init(void)
*******************************************************************************/
void btm_ble_multi_adv_cleanup(void)
{
#if BTM_DYNAMIC_MEMORY == TRUE
if (btm_multi_adv_cb_ptr == NULL)
{
BTM_TRACE_WARNING("%s memory has been freed", __func__);
return;
}
#endif
if (btm_multi_adv_cb.p_adv_inst) {
osi_free(btm_multi_adv_cb.p_adv_inst);
btm_multi_adv_cb.p_adv_inst = NULL;
Expand Down

0 comments on commit e7d8850

Please sign in to comment.