Skip to content
Permalink
Browse files

Bluetooth: Fix expiring RPA when different local identities are used

When advertising with different identities we need to flag any
programmed RPA as invalid if it was generated using a different
identity.

Fixes #16893

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
  • Loading branch information...
jhedberg committed Jun 18, 2019
1 parent 72e8010 commit 4e89d29416c2842f22abb347bf147e52beac4109
Showing with 4 additions and 0 deletions.
  1. +4 −0 subsys/bluetooth/host/hci_core.c
@@ -5348,6 +5348,10 @@ int bt_le_adv_start_internal(const struct bt_le_adv_param *param,
set_param.max_interval = sys_cpu_to_le16(param->interval_max);
set_param.channel_map = 0x07;

if (bt_dev.adv_id != param->id) {
atomic_clear_bit(bt_dev.flags, BT_DEV_RPA_VALID);
}

/* Set which local identity address we're advertising with */
bt_dev.adv_id = param->id;
id_addr = &bt_dev.id_addr[param->id];

0 comments on commit 4e89d29

Please sign in to comment.
You can’t perform that action at this time.