From c8525c21b9c6f68ef9052ddcc0a1da22bb7486a7 Mon Sep 17 00:00:00 2001 From: island Date: Wed, 25 Oct 2017 11:52:03 +0800 Subject: [PATCH] component/bt: Fix scan problem of bonded device using public address --- components/bt/bluedroid/stack/btm/btm_ble.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/components/bt/bluedroid/stack/btm/btm_ble.c b/components/bt/bluedroid/stack/btm/btm_ble.c index 8c90b9c33..95f15e3a6 100644 --- a/components/bt/bluedroid/stack/btm/btm_ble.c +++ b/components/bt/bluedroid/stack/btm/btm_ble.c @@ -180,7 +180,11 @@ BOOLEAN BTM_SecAddBleKey (BD_ADDR bd_addr, tBTM_LE_KEY_VALUE *p_le_key, tBTM_LE_ #if (BLE_PRIVACY_SPT == TRUE) if (key_type == BTM_LE_KEY_PID || key_type == BTM_LE_KEY_LID) { - btm_ble_resolving_list_load_dev (p_dev_rec); + /* It will cause that scanner doesn't send scan request to advertiser + * which has sent IRK to us and we have stored the IRK in controller. + * It is a design problem of hardware. The temporal solution is not to + * send the key to the controller and then resolve the random address in host. */ + //btm_ble_resolving_list_load_dev (p_dev_rec); } #endif @@ -1898,7 +1902,11 @@ UINT8 btm_proc_smp_cback(tSMP_EVT event, BD_ADDR bd_addr, tSMP_EVT_DATA *p_data) p_dev_rec->sec_state = BTM_SEC_STATE_IDLE; #if (defined BLE_PRIVACY_SPT && BLE_PRIVACY_SPT == TRUE) /* add all bonded device into resolving list if IRK is available*/ - btm_ble_resolving_list_load_dev(p_dev_rec); + /* It will cause that scanner doesn't send scan request to advertiser + * which has sent IRK to us and we have stored the IRK in controller. + * It is a design problem of hardware. The temporal solution is not to + * send the key to the controller and then resolve the random address in host. */ + //btm_ble_resolving_list_load_dev(p_dev_rec); #endif }