Bluetooth: Host: Workaround for controller advertising data bug

Add workaround for advertising data issue in the internal bluetooth
controller. The advertising data must be set after advertising
parameters in order to successfully update the advertising data after
an directed advertiser has been active.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
This commit is contained in:
Joakim Andersson 2019-09-02 17:14:26 +02:00 committed by Carles Cufí
commit 6c2b7937c5

View file

@ -5666,15 +5666,6 @@ int bt_le_adv_start_internal(const struct bt_le_adv_param *param,
return -EALREADY;
}
if (!dir_adv) {
err = le_adv_update(ad, ad_len, sd, sd_len,
param->options & BT_LE_ADV_OPT_CONNECTABLE,
param->options & BT_LE_ADV_OPT_USE_NAME);
if (err) {
return err;
}
}
(void)memset(&set_param, 0, sizeof(set_param));
set_param.min_interval = sys_cpu_to_le16(param->interval_min);
@ -5789,6 +5780,15 @@ int bt_le_adv_start_internal(const struct bt_le_adv_param *param,
return err;
}
if (!dir_adv) {
err = le_adv_update(ad, ad_len, sd, sd_len,
param->options & BT_LE_ADV_OPT_CONNECTABLE,
param->options & BT_LE_ADV_OPT_USE_NAME);
if (err) {
return err;
}
}
err = set_advertise_enable(true);
if (err) {
return err;