From 98d88f86a77b7733dc5810b92b1d6b68cc2d6cc5 Mon Sep 17 00:00:00 2001 From: zhanghaipeng Date: Tue, 26 Sep 2023 21:09:43 +0800 Subject: [PATCH] fix(bt/bluedroid): Fix remove resolving list error for esp32 --- components/bt/host/bluedroid/stack/btm/btm_ble_privacy.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/components/bt/host/bluedroid/stack/btm/btm_ble_privacy.c b/components/bt/host/bluedroid/stack/btm/btm_ble_privacy.c index 6f15dd2d3f..7058df20fc 100644 --- a/components/bt/host/bluedroid/stack/btm/btm_ble_privacy.c +++ b/components/bt/host/bluedroid/stack/btm/btm_ble_privacy.c @@ -473,10 +473,18 @@ tBTM_STATUS btm_ble_remove_resolving_list_entry(tBTM_SEC_DEV_REC *p_dev_rec) tBTM_STATUS st = BTM_NO_RESOURCES; if (controller_get_interface()->supports_ble_privacy()) { + #if CONTROLLER_RPA_LIST_ENABLE if (btsnd_hcic_ble_rm_device_resolving_list(p_dev_rec->ble.static_addr_type, p_dev_rec->ble.static_addr)) { st = BTM_CMD_STARTED; } + #else + // do nothing + /* 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 hardware limitation. The preliminary solution is not to + * send key to the controller, but to resolve the random address in host. */ + #endif } else { UINT8 param[20] = {0}; UINT8 *p = param;