From 4fe04ae14d0fd1bbd03f42cb423f7299ed59ca67 Mon Sep 17 00:00:00 2001 From: baohongde Date: Tue, 21 Aug 2018 11:01:44 +0800 Subject: [PATCH] component/bt: Update BLE private address after it's private address interval --- .../bt/bluedroid/stack/btm/btm_ble_addr.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/components/bt/bluedroid/stack/btm/btm_ble_addr.c b/components/bt/bluedroid/stack/btm/btm_ble_addr.c index d62717fae0..785ed733fd 100644 --- a/components/bt/bluedroid/stack/btm/btm_ble_addr.c +++ b/components/bt/bluedroid/stack/btm/btm_ble_addr.c @@ -65,6 +65,23 @@ static void btm_gen_resolve_paddr_cmpl(tSMP_ENC *p) p_cb->set_local_privacy_cback = NULL; } + if (btm_cb.ble_ctr_cb.inq_var.adv_mode == BTM_BLE_ADV_ENABLE){ + BTM_TRACE_DEBUG("Advertise with new resolvable private address, now."); + /** + * Restart advertising, using new resolvable private address + */ + btm_ble_stop_adv(); + btm_ble_start_adv(); + } + if (btm_cb.ble_ctr_cb.inq_var.state == BTM_BLE_SCANNING){ + BTM_TRACE_DEBUG("Scan with new resolvable private address, now."); + /** + * Restart scaning, using new resolvable private address + */ + btm_ble_stop_scan(); + btm_ble_start_scan(); + } + /* start a periodical timer to refresh random addr */ btu_stop_timer_oneshot(&p_cb->raddr_timer_ent); #if (BTM_BLE_CONFORMANCE_TESTING == TRUE)