Commit c687fb8c authored by Vinayak Kariappa Chettimada's avatar Vinayak Kariappa Chettimada Committed by Anas Nashif
Browse files

Bluetooth: controller: Fix to restrict addr set in initiator



Fix controller implementation to restrict HCI LE Set Random
Address command when advertising and/or active scanning
and/or initiator state is enable.

Fixes LL.TS.5.0.2 conformance tests:
LL/CON/INI/BV-01-C [Connection Initiation]
LL/SEC/ADV/BV-01-C [Advertising With Static Address]
LL/SEC/SCN/BV-01-C [Random Address Scanning]

Signed-off-by: default avatarVinayak Kariappa Chettimada <vich@nordicsemi.no>
parent 487ebc2c
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -10275,8 +10275,10 @@ u32_t radio_scan_is_enabled(void)
{
	/* NOTE: BIT(0) - passive scanning enabled
	 *       BIT(1) - active scanning enabled
	 *       BIT(2) - initiator enabled
	 */
	return (u32_t)_radio.scanner.is_enabled << _radio.scanner.type;
	return ((u32_t)_radio.scanner.is_enabled << _radio.scanner.type) |
	       (_radio.scanner.conn ? BIT(2) : 0);
}

u32_t radio_scan_filter_pol_get(void)
+1 −1
Original line number Diff line number Diff line
@@ -291,7 +291,7 @@ u8_t *ll_addr_get(u8_t addr_type, u8_t *bdaddr)
u32_t ll_addr_set(u8_t addr_type, u8_t const *const bdaddr)
{
	if (radio_adv_is_enabled() ||
	    (radio_scan_is_enabled() & BIT(1))) {
	    (radio_scan_is_enabled() & (BIT(1) | BIT(2)))) {
		return BT_HCI_ERR_CMD_DISALLOWED;
	}