Merge branch 'feature/adv_queue_congestion_v5.0' into 'release/v5.0'

feat(nimble): Added adv queue congestion check (v5.0)

See merge request espressif/esp-idf!25731
This commit is contained in:
Rahul Tank 2023-09-25 19:18:39 +08:00
commit 840d8a2aee
4 changed files with 26 additions and 1 deletions

View File

@ -668,3 +668,12 @@ config BT_NIMBLE_HIGH_DUTY_ADV_ITVL
depends on BT_NIMBLE_ENABLED
help
This enable BLE high duty advertising interval feature
config BT_NIMBLE_HOST_QUEUE_CONG_CHECK
bool "BLE queue congestion check"
depends on BT_NIMBLE_ENABLED
default n
help
When scanning and scan duplicate is not enabled, if there are a lot of adv packets around
or application layer handling adv packets is slow, it will cause the controller memory
to run out. if enabled, adv packets will be lost when host queue is congested.

View File

@ -452,6 +452,10 @@ esp_err_t esp_nimble_hci_init(void)
xSemaphoreGive(vhci_send_sem);
#if MYNEWT_VAL(BLE_QUEUE_CONG_CHECK)
ble_adv_list_init();
#endif
return ret;
err:
ble_buf_free();
@ -494,5 +498,9 @@ esp_err_t esp_nimble_hci_deinit(void)
ble_buf_free();
#if MYNEWT_VAL(BLE_QUEUE_CONG_CHECK)
ble_adv_list_deinit();
#endif
return ESP_OK;
}

@ -1 +1 @@
Subproject commit 115f05c7b2d60a1366caf5b04f6a05211a41eae3
Subproject commit d24bcfac8f93afe58fd0fefff2c9e284738556bb

View File

@ -1619,4 +1619,12 @@
#endif
#endif
#ifndef MYNEWT_VAL_BLE_QUEUE_CONG_CHECK
#ifdef CONFIG_BT_NIMBLE_HOST_QUEUE_CONG_CHECK
#define MYNEWT_VAL_BLE_QUEUE_CONG_CHECK CONFIG_BT_NIMBLE_HOST_QUEUE_CONG_CHECK
#else
#define MYNEWT_VAL_BLE_QUEUE_CONG_CHECK FALSE
#endif
#endif
#endif