mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-11-04 06:11:06 +00:00 
			
		
		
		
	Merge branch 'bugfix/ble_fix_reconnect_failed_when_using_rpa_public_address_v4.3' into 'release/v4.3'
Fixed BLE reconnect failed when using rpa public address (backport v4.3) See merge request espressif/esp-idf!13743
This commit is contained in:
		@@ -2071,6 +2071,8 @@ static void btu_ble_ext_adv_report_evt(UINT8 *p, UINT16 evt_len)
 | 
			
		||||
    UINT8 num_reports = {0};
 | 
			
		||||
    //UINT8 legacy_event_type = 0;
 | 
			
		||||
    UINT16 evt_type = 0;
 | 
			
		||||
    uint8_t addr_type;
 | 
			
		||||
    BD_ADDR bda;
 | 
			
		||||
 | 
			
		||||
    if (!p) {
 | 
			
		||||
        HCI_TRACE_ERROR("%s, Invalid params.", __func__);
 | 
			
		||||
@@ -2102,8 +2104,13 @@ static void btu_ble_ext_adv_report_evt(UINT8 *p, UINT16 evt_len)
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        STREAM_TO_UINT8(ext_adv_report.addr_type, p);
 | 
			
		||||
        STREAM_TO_BDADDR(ext_adv_report.addr, p);
 | 
			
		||||
        STREAM_TO_UINT8(addr_type, p);
 | 
			
		||||
        STREAM_TO_BDADDR(bda, p);
 | 
			
		||||
#if (defined BLE_PRIVACY_SPT && BLE_PRIVACY_SPT == TRUE)
 | 
			
		||||
        btm_identity_addr_to_random_pseudo(bda, &addr_type, FALSE);
 | 
			
		||||
#endif
 | 
			
		||||
        ext_adv_report.addr_type = addr_type;
 | 
			
		||||
        memcpy(ext_adv_report.addr, bda, 6);
 | 
			
		||||
        STREAM_TO_UINT8(ext_adv_report.primary_phy, p);
 | 
			
		||||
        STREAM_TO_UINT8(ext_adv_report.secondry_phy, p);
 | 
			
		||||
        STREAM_TO_UINT8(ext_adv_report.sid, p);
 | 
			
		||||
 
 | 
			
		||||
@@ -829,7 +829,7 @@ BOOLEAN l2cble_init_direct_conn (tL2C_LCB *p_lcb)
 | 
			
		||||
 | 
			
		||||
#endif // (!CONTROLLER_RPA_LIST_ENABLE)
 | 
			
		||||
 | 
			
		||||
#if (CONTROLLER_RPA_LIST_ENABLE && CONFIG_BT_CTRL_ESP32)
 | 
			
		||||
#if (CONTROLLER_RPA_LIST_ENABLE)
 | 
			
		||||
 | 
			
		||||
    if (p_dev_rec->ble.in_controller_list & BTM_RESOLVING_LIST_BIT) {
 | 
			
		||||
        if (btm_cb.ble_ctr_cb.privacy_mode >=  BTM_PRIVACY_1_2) {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user