Merge branch 'bugfix/fix_some_ble_bugs_v4.4' into 'release/v4.4'

Fixed some BLE bugs (backport v4.4)

See merge request espressif/esp-idf!27698
This commit is contained in:
Jiang Jiang Jian 2023-12-11 15:07:54 +08:00
commit 597a4d4926
4 changed files with 6 additions and 7 deletions

@ -1 +1 @@
Subproject commit cddb921d20418cef04de83ddfe3543463dfbc2bc
Subproject commit d1d4b7635d01edc40cbd0605376afd804ba4afb9

@ -1 +1 @@
Subproject commit cecbe387799b41346c0affab41f339306a33e518
Subproject commit bb9f0f59db474924c9288ab92aed1abb88bc9419

View File

@ -298,7 +298,7 @@ BOOLEAN btm_update_dev_to_white_list(BOOLEAN to_add, BD_ADDR bd_addr, tBLE_ADDR_
addr_type = p_dev_rec->ble.static_addr_type;
}
// white list must be public address or static random address
// The device to be added to white list must be public address or random address
if(addr_type == BLE_ADDR_RANDOM) {
/*
A static address is a 48-bit randomly generated address and shall meet the following requirements:
@ -307,8 +307,7 @@ BOOLEAN btm_update_dev_to_white_list(BOOLEAN to_add, BD_ADDR bd_addr, tBLE_ADDR_
All bits of the random part of the address shall not be equal to 0
*/
invalid_rand_addr_b[0] = invalid_rand_addr_b[0] | BT_STATIC_RAND_ADDR_MASK;
if((bd_addr[0] & BT_STATIC_RAND_ADDR_MASK) == BT_STATIC_RAND_ADDR_MASK
&& memcmp(invalid_rand_addr_a, bd_addr, BD_ADDR_LEN) != 0
if(memcmp(invalid_rand_addr_a, bd_addr, BD_ADDR_LEN) != 0
&& memcmp(invalid_rand_addr_b, bd_addr, BD_ADDR_LEN) != 0){
// do nothing
} else {

View File

@ -113,7 +113,6 @@ r_lld_con_evt_time_update_eco = 0x40001d0c;
r_lld_con_start_eco = 0x40001d10;
r_lld_con_frm_isr_eco = 0x40001d14;
r_lld_con_tx_eco = 0x40001d18;
r_lld_con_evt_start_cbk_eco = 0x40001d1c;
r_lld_scan_evt_start_cbk_eco = 0x40001d20;
r_lld_scan_start_eco = 0x40001d24;
r_lld_ext_scan_dynamic_pti_process_eco = 0x40001d28;
@ -202,7 +201,6 @@ r_sch_arb_event_start_isr = 0x400014f8;
r_sch_plan_set = 0x40001534;
r_sch_prog_end_isr = 0x40001538;
r_lld_adv_ext_chain_scannable_construct = 0x40001b58;
r_lld_con_tx_prog_new_packet = 0x40001b74;
r_lld_scan_process_pkt_rx = 0x40001280;
r_llm_le_features_get = 0x400013b0;
@ -217,6 +215,8 @@ r_lld_adv_frm_isr_eco = 0x40001d00;
r_lld_res_list_clear = 0x40004638;
r_lld_res_list_rem = 0x40004680;
r_lld_adv_start_hook = 0x40001c80;
r_lld_con_evt_start_cbk_eco = 0x40001d1c;
r_lld_con_tx_prog_new_packet = 0x40001b74;
*/