hci: add workaround to trigger hci le set adv params after hci le set random address

This commit is contained in:
Matthias Ringwald 2023-02-01 11:35:39 +01:00
parent 8ef6d15f2e
commit ae35a99c2d
2 changed files with 54 additions and 49 deletions

View File

@ -76,7 +76,7 @@ POSIX platform properties:
BTstack properties: BTstack properties:
| \#define | Description | | \#define | Description |
|-----------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------| |-----------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------|
| ENABLE_CLASSIC | Enable Classic related code in HCI and L2CAP | | ENABLE_CLASSIC | Enable Classic related code in HCI and L2CAP |
| ENABLE_BLE | Enable BLE related code in HCI and L2CAP | | ENABLE_BLE | Enable BLE related code in HCI and L2CAP |
| ENABLE_EHCILL | Enable eHCILL low power mode on TI CC256x/WL18xx chipsets | | ENABLE_EHCILL | Enable eHCILL low power mode on TI CC256x/WL18xx chipsets |
@ -123,7 +123,8 @@ BTstack properties:
| ENABLE_CLASSIC_OOB_PAIRING | Enable support for classic Out-of-Band (OOB) pairing | | ENABLE_CLASSIC_OOB_PAIRING | Enable support for classic Out-of-Band (OOB) pairing |
| ENABLE_A2DP_EXPLICIT_CONFIG | Let application configure stream endpoint (skip auto-config of SBC endpoint) | | ENABLE_A2DP_EXPLICIT_CONFIG | Let application configure stream endpoint (skip auto-config of SBC endpoint) |
| ENABLE_AVDTP_ACCEPTOR_EXPLICIT_START_STREAM_CONFIRMATION | allow accept or reject of stream start on A2DP_SUBEVENT_START_STREAM_REQUESTED | | ENABLE_AVDTP_ACCEPTOR_EXPLICIT_START_STREAM_CONFIRMATION | allow accept or reject of stream start on A2DP_SUBEVENT_START_STREAM_REQUESTED |
| ENABLE_LE_WHITELIST_TOUCH_AFTER_RESOLVING_LIST_UPDATE | Enable Workaround for Controller bug. | | ENABLE_LE_WHITELIST_TOUCH_AFTER_RESOLVING_LIST_UPDATE | Enable Workaround for Controller bug |
| ENABLE_LE_SET_ADV_PARAMS_ON_RANDOM_ADDRESS_CHANGE | Send HCI LE Set Advertising Params after HCI LE Set Random Address - workaround for Controller Bug
| ENABLE_CONTROLLER_DUMP_PACKETS | Dump number of packets in Controller per type for debugging | | ENABLE_CONTROLLER_DUMP_PACKETS | Dump number of packets in Controller per type for debugging |
Notes: Notes:

View File

@ -5948,6 +5948,10 @@ static bool hci_run_general_gap_le(void){
{ {
hci_send_cmd(&hci_le_set_random_address, hci_stack->le_random_address); hci_send_cmd(&hci_le_set_random_address, hci_stack->le_random_address);
} }
#ifdef ENABLE_LE_SET_ADV_PARAMS_ON_RANDOM_ADDRESS_CHANGE
// workaround: on some Controllers, address in advertisements is updated only after next dv params set
hci_stack->le_advertisements_todo |= LE_ADVERTISEMENT_TASKS_SET_PARAMS;
#endif
return true; return true;
} }