mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
Merge branch 'bugfix/btdm_allow_start_adv_again_v3.2' into 'release/v3.2'
component/bt: allow to send stop adv again and fix tx prog crash (backport v3.2) See merge request espressif/esp-idf!6917
This commit is contained in:
commit
5ddeab1409
@ -538,7 +538,7 @@ tBTM_STATUS BTM_BleBroadcast(BOOLEAN start, tBTM_START_STOP_ADV_CMPL_CBACK *p_s
|
|||||||
}
|
}
|
||||||
return BTM_BUSY;
|
return BTM_BUSY;
|
||||||
}
|
}
|
||||||
if (start && p_cb->adv_mode == BTM_BLE_ADV_DISABLE) {
|
if (start) {
|
||||||
/* update adv params */
|
/* update adv params */
|
||||||
if (!btsnd_hcic_ble_write_adv_params ((UINT16)(p_cb->adv_interval_min ? p_cb->adv_interval_min :
|
if (!btsnd_hcic_ble_write_adv_params ((UINT16)(p_cb->adv_interval_min ? p_cb->adv_interval_min :
|
||||||
BTM_BLE_GAP_ADV_INT),
|
BTM_BLE_GAP_ADV_INT),
|
||||||
@ -558,22 +558,13 @@ tBTM_STATUS BTM_BleBroadcast(BOOLEAN start, tBTM_START_STOP_ADV_CMPL_CBACK *p_s
|
|||||||
}
|
}
|
||||||
|
|
||||||
status = btm_ble_start_adv ();
|
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.
|
//save the stop adv callback to the BTM env.
|
||||||
p_cb->p_stop_adv_cb = p_stop_adv_cback;
|
p_cb->p_stop_adv_cb = p_stop_adv_cback;
|
||||||
status = btm_ble_stop_adv();
|
status = btm_ble_stop_adv();
|
||||||
#if BLE_PRIVACY_SPT == TRUE
|
#if BLE_PRIVACY_SPT == TRUE
|
||||||
btm_ble_disable_resolving_list(BTM_BLE_RL_ADV, TRUE);
|
btm_ble_disable_resolving_list(BTM_BLE_RL_ADV, TRUE);
|
||||||
#endif
|
#endif
|
||||||
} else {
|
|
||||||
/*
|
|
||||||
1. start adv when adv has already started (not used)
|
|
||||||
2. stop adv shen adv has already stoped
|
|
||||||
*/
|
|
||||||
status = BTM_SUCCESS;
|
|
||||||
if (p_stop_adv_cback) {
|
|
||||||
(*p_stop_adv_cback)(status);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
@ -3813,7 +3804,7 @@ tBTM_STATUS btm_ble_stop_adv(void)
|
|||||||
tBTM_BLE_INQ_CB *p_cb = &btm_cb.ble_ctr_cb.inq_var;
|
tBTM_BLE_INQ_CB *p_cb = &btm_cb.ble_ctr_cb.inq_var;
|
||||||
tBTM_STATUS rt = BTM_SUCCESS;
|
tBTM_STATUS rt = BTM_SUCCESS;
|
||||||
|
|
||||||
if (p_cb->adv_mode == BTM_BLE_ADV_ENABLE) {
|
if (p_cb) {
|
||||||
UINT8 temp_adv_mode = p_cb->adv_mode;
|
UINT8 temp_adv_mode = p_cb->adv_mode;
|
||||||
BOOLEAN temp_fast_adv_on = p_cb->fast_adv_on;
|
BOOLEAN temp_fast_adv_on = p_cb->fast_adv_on;
|
||||||
tBTM_BLE_GAP_STATE temp_state = p_cb->state;
|
tBTM_BLE_GAP_STATE temp_state = p_cb->state;
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit a0814193a7572acb0e527e72f000886d6bc73fc0
|
Subproject commit c110627ede4f90bd3fc43b5f3f4da15fc0a5db10
|
Loading…
Reference in New Issue
Block a user