diff --git a/components/bt/esp_ble_mesh/core/bluedroid_host/adapter.c b/components/bt/esp_ble_mesh/core/bluedroid_host/adapter.c index 6bc2d1d64e..5664c9b6cc 100644 --- a/components/bt/esp_ble_mesh/core/bluedroid_host/adapter.c +++ b/components/bt/esp_ble_mesh/core/bluedroid_host/adapter.c @@ -656,7 +656,8 @@ int bt_le_ext_adv_start(const uint8_t inst_id, * not smaller than 10ms, then we will use a random adv interval between * [interval / 2, interval] for them. */ - if (adv_type == BLE_MESH_ADV_NONCONN_IND && interval >= 16) { + if (ext_adv_params.type == BTA_DM_BLE_GAP_SET_EXT_ADV_PROP_LEGACY_NONCONN + && interval >= 16) { interval >>= 1; interval += (bt_mesh_get_rand() % (interval + 1)); diff --git a/components/bt/esp_ble_mesh/core/nimble_host/adapter.c b/components/bt/esp_ble_mesh/core/nimble_host/adapter.c index cafa20156f..4816f29af0 100644 --- a/components/bt/esp_ble_mesh/core/nimble_host/adapter.c +++ b/components/bt/esp_ble_mesh/core/nimble_host/adapter.c @@ -1207,8 +1207,7 @@ int bt_le_ext_adv_start(const uint8_t inst_id, * not smaller than 10ms, then we will use a random adv interval between * [interval / 2, interval] for them. */ - if (adv_params.conn_mode == BLE_GAP_CONN_MODE_NON && - adv_params.disc_mode == BLE_GAP_DISC_MODE_NON && interval >= 16) { + if (adv_params.legacy_pdu && interval >= 16) { interval >>= 1; interval += (bt_mesh_get_rand() % (interval + 1));