fix(ble/bluedroid): Fixed bluedroid host get white list size error

(cherry picked from commit f4dfd42725)

Co-authored-by: zhiweijian <zhiweijian@espressif.com>
This commit is contained in:
Zhi Wei Jian
2026-01-07 17:24:53 +08:00
parent 8f040d13fb
commit 32da3b110b
2 changed files with 11 additions and 2 deletions
@@ -3088,6 +3088,7 @@ esp_err_t esp_ble_gap_clear_whitelist(void);
/**
* @brief Get the whitelist size in the controller
* Note: This API returns a constant value indicating the maximum number of whitelists supported by the controller
*
* @param[out] length: the white list length.
* @return
@@ -464,7 +464,15 @@ void btm_ble_add_2_white_list_complete(UINT8 status)
BTM_TRACE_EVENT("%s status=%d", __func__, status);
tBTM_BLE_CB *p_cb = &btm_cb.ble_ctr_cb;
if (status == HCI_SUCCESS) {
--btm_cb.ble_ctr_cb.white_list_avail_size;
// --btm_cb.ble_ctr_cb.white_list_avail_size;
/*
According to the latest Bluetooth spec:
If the device is already in the Filter Accept List, the Controller should not add the device
to the Filter Accept List again and should return success.
The host cannot obtain the controller as the actual remaining white list size unless the host
also maintains a white list
Keep consistent behavior with the NimBLE host stack
*/
}
// add whitelist complete callback
if (p_cb->update_wl_cb)
@@ -487,7 +495,7 @@ void btm_ble_remove_from_white_list_complete(UINT8 *p, UINT16 evt_len)
UNUSED(evt_len);
BTM_TRACE_EVENT ("%s status=%d", __func__, *p);
if (*p == HCI_SUCCESS) {
++btm_cb.ble_ctr_cb.white_list_avail_size;
// ++btm_cb.ble_ctr_cb.white_list_avail_size;
}
if (p_cb->update_wl_cb)
{