mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-02 03:00:34 +03:00
Merge branch 'bugfix/fix_bluedroid_ext_adv_param_fail_state' into 'master'
fix(ble/bluedroid): preserve ext adv state when set params fails Closes BLERP-2962 and IDFGH-17144 See merge request espressif/esp-idf!50470
This commit is contained in:
@@ -254,31 +254,6 @@ tBTM_STATUS BTM_BleSetExtendedAdvParams(UINT8 instance, tBTM_BLE_GAP_EXT_ADV_PAR
|
||||
goto end;
|
||||
}
|
||||
|
||||
if (params->type & BTM_BLE_GAP_SET_EXT_ADV_PROP_CONNECTABLE) {
|
||||
extend_adv_cb.inst[instance].connetable = true;
|
||||
} else {
|
||||
extend_adv_cb.inst[instance].connetable = false;
|
||||
}
|
||||
|
||||
if (params->type & BTM_BLE_GAP_SET_EXT_ADV_PROP_SCANNABLE) {
|
||||
extend_adv_cb.inst[instance].scannable = true;
|
||||
} else {
|
||||
extend_adv_cb.inst[instance].scannable = false;
|
||||
}
|
||||
|
||||
if (params->type & BTM_BLE_GAP_SET_EXT_ADV_PROP_LEGACY) {
|
||||
extend_adv_cb.inst[instance].legacy_pdu = true;
|
||||
} else {
|
||||
extend_adv_cb.inst[instance].legacy_pdu = false;
|
||||
}
|
||||
|
||||
if (params->type & (BTM_BLE_GAP_SET_EXT_ADV_PROP_DIRECTED |
|
||||
BTM_BLE_GAP_SET_EXT_ADV_PROP_HD_DIRECTED)) {
|
||||
extend_adv_cb.inst[instance].directed = true;
|
||||
} else {
|
||||
extend_adv_cb.inst[instance].directed = false;
|
||||
}
|
||||
|
||||
#if (CONTROLLER_RPA_LIST_ENABLE == FALSE)
|
||||
// if own_addr_type == BLE_ADDR_PUBLIC_ID or BLE_ADDR_RANDOM_ID,
|
||||
if((params->own_addr_type == BLE_ADDR_PUBLIC_ID || params->own_addr_type == BLE_ADDR_RANDOM_ID) && BTM_GetLocalResolvablePrivateAddr(rand_addr)) {
|
||||
@@ -315,6 +290,31 @@ tBTM_STATUS BTM_BleSetExtendedAdvParams(UINT8 instance, tBTM_BLE_GAP_EXT_ADV_PAR
|
||||
}
|
||||
#endif // (BT_BLE_FEAT_ADV_CODING_SELECTION == TRUE)
|
||||
|
||||
if (params->type & BTM_BLE_GAP_SET_EXT_ADV_PROP_CONNECTABLE) {
|
||||
extend_adv_cb.inst[instance].connetable = true;
|
||||
} else {
|
||||
extend_adv_cb.inst[instance].connetable = false;
|
||||
}
|
||||
|
||||
if (params->type & BTM_BLE_GAP_SET_EXT_ADV_PROP_SCANNABLE) {
|
||||
extend_adv_cb.inst[instance].scannable = true;
|
||||
} else {
|
||||
extend_adv_cb.inst[instance].scannable = false;
|
||||
}
|
||||
|
||||
if (params->type & BTM_BLE_GAP_SET_EXT_ADV_PROP_LEGACY) {
|
||||
extend_adv_cb.inst[instance].legacy_pdu = true;
|
||||
} else {
|
||||
extend_adv_cb.inst[instance].legacy_pdu = false;
|
||||
}
|
||||
|
||||
if (params->type & (BTM_BLE_GAP_SET_EXT_ADV_PROP_DIRECTED |
|
||||
BTM_BLE_GAP_SET_EXT_ADV_PROP_HD_DIRECTED)) {
|
||||
extend_adv_cb.inst[instance].directed = true;
|
||||
} else {
|
||||
extend_adv_cb.inst[instance].directed = false;
|
||||
}
|
||||
|
||||
extend_adv_cb.inst[instance].configured = true;
|
||||
/* Record the post-fallback on-air address type for per-set conn_addr fixup. */
|
||||
extend_adv_cb.inst[instance].own_addr_type = params->own_addr_type;
|
||||
|
||||
@@ -1759,7 +1759,7 @@ UINT32 smp_calculate_g2(UINT8 *u, UINT8 *v, UINT8 *x, UINT8 *y)
|
||||
smp_debug_print_nbyte_little_endian (p_prnt, (const UINT8 *)"cmac mod 2**32 mod 10**6", 4);
|
||||
#endif
|
||||
|
||||
SMP_TRACE_ERROR("Value for numeric comparison = %d", vres);
|
||||
SMP_TRACE_WARNING("Value for numeric comparison = %d", vres);
|
||||
return vres;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user