Merge branch 'bugfix/btdm_allow_start_adv_again' into 'master'

component/bt: allow to send stop adv again and fix tx prog crash

See merge request espressif/esp-idf!6573
This commit is contained in:
Jiang Jiang Jian 2019-12-04 20:23:36 +08:00
commit 0c0430a169
3 changed files with 5 additions and 11 deletions

@ -1 +1 @@
Subproject commit 7fe0f4039005407e12951808785761826a01ead0
Subproject commit 5a2416f8b8729a44c9396747631246432b109f0d

View File

@ -591,7 +591,7 @@ tBTM_STATUS BTM_BleBroadcast(BOOLEAN start, tBTM_START_STOP_ADV_CMPL_CBACK *p_s
}
#endif
if (start && p_cb->adv_mode == BTM_BLE_ADV_DISABLE) {
if (start) {
/* update adv params */
if (!btsnd_hcic_ble_write_adv_params ((UINT16)(p_cb->adv_interval_min ? p_cb->adv_interval_min :
BTM_BLE_GAP_ADV_INT),
@ -611,19 +611,13 @@ tBTM_STATUS BTM_BleBroadcast(BOOLEAN start, tBTM_START_STOP_ADV_CMPL_CBACK *p_s
}
status = btm_ble_start_adv ();
} else if (!start && p_cb->adv_mode == BTM_BLE_ADV_ENABLE) {
} else {
//save the stop adv callback to the BTM env.
p_cb->p_stop_adv_cb = p_stop_adv_cback;
status = btm_ble_stop_adv();
#if BLE_PRIVACY_SPT == TRUE
btm_ble_disable_resolving_list(BTM_BLE_RL_ADV, TRUE);
#endif
} else {
/*
1. start adv when adv has already started (not used)
2. stop adv shen adv has already stoped
*/
status = BTM_SUCCESS;
}
return status;
}
@ -3955,7 +3949,7 @@ tBTM_STATUS btm_ble_stop_adv(void)
{
tBTM_BLE_INQ_CB *p_cb = &btm_cb.ble_ctr_cb.inq_var;
tBTM_STATUS rt = BTM_SUCCESS;
if (p_cb->adv_mode == BTM_BLE_ADV_ENABLE) {
if (p_cb) {
osi_mutex_lock(&adv_enable_lock, OSI_MUTEX_MAX_TIMEOUT);
UINT8 temp_adv_mode = p_cb->adv_mode;
BOOLEAN temp_fast_adv_on = p_cb->fast_adv_on;

View File

@ -78,7 +78,7 @@ CONFIG_LWIP_ETHARP_TRUST_IP_MAC=n
CONFIG_ESPTOOLPY_FLASHMODE_QIO=y
CONFIG_ESPTOOLPY_FLASHFREQ_40M=y
CONFIG_LWIP_IRAM_OPTIMIZATION=y
CONFIG_LWIP_IRAM_OPTIMIZATION=n
CONFIG_ESP32_WIFI_RX_IRAM_OPT=n