From 6a2f492832857ff74d42d88a559c98244a6926ee Mon Sep 17 00:00:00 2001 From: baohongde Date: Mon, 3 Sep 2018 14:27:15 +0800 Subject: [PATCH] component/bt: Update BLE private address after it's private address interval (backport 3.1) A cherry-pick of MR !2987 --- .../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 d62717fae..785ed733f 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)