Просмотр исходного кода

fix bluedroid repair faild if the two most significant bits of public address is '01'

zwj 5 лет назад
Родитель
Сommit
61b1a4b7b8
1 измененных файлов с 2 добавлено и 2 удалено
  1. 2 2
      components/bt/host/bluedroid/stack/btm/btm_ble.c

+ 2 - 2
components/bt/host/bluedroid/stack/btm/btm_ble.c

@@ -2003,9 +2003,9 @@ void btm_ble_conn_complete(UINT8 *p, UINT16 evt_len, BOOLEAN enhanced)
         * slave or master*/
 
 #if CONTROLLER_RPA_LIST_ENABLE
-        if (!match && role == HCI_ROLE_SLAVE && BTM_BLE_IS_RESOLVE_BDA(bda)) {
+        if (!match && role == HCI_ROLE_SLAVE && bda_type != BLE_ADDR_PUBLIC && BTM_BLE_IS_RESOLVE_BDA(bda)) {
 #else
-        if (!match && BTM_BLE_IS_RESOLVE_BDA(bda)) {
+        if (!match && bda_type != BLE_ADDR_PUBLIC && BTM_BLE_IS_RESOLVE_BDA(bda)) {
 #endif
             // save the enhanced value to used in btm_ble_resolve_random_addr_on_conn_cmpl func.
             temp_enhanced = enhanced;