ble_mesh: stack: Fix send fast interval prov_adv failed when PB-ADV and PB-GATT enable simultaneously
@@ -73,6 +73,7 @@ static uint16_t proxy_ccc_val;
#if defined(CONFIG_BLE_MESH_PB_GATT)
static uint16_t prov_ccc_val;
static bool prov_fast_adv;
+static uint32_t prov_start_time;
#endif
static struct bt_mesh_proxy_client {
@@ -1377,12 +1378,16 @@ int32_t bt_mesh_proxy_server_adv_start(void)
}
#if defined(CONFIG_BLE_MESH_PB_GATT)
+ if (prov_fast_adv) {
+ prov_start_time = k_uptime_get_32();
+ }
+
if (!bt_mesh_is_provisioned()) {
const struct bt_mesh_adv_param *param;
struct bt_mesh_adv_data prov_sd[2];
size_t prov_sd_len;
- if (prov_fast_adv) {
+ if (k_uptime_get_32() - prov_start_time < K_SECONDS(60)) {
param = &fast_adv_param;
} else {
param = &slow_adv_param;
