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

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

See merge request espressif/esp-idf!25726
This commit is contained in:
Rahul Tank 2023-09-05 14:14:35 +08:00
commit bf204d4150
4 changed files with 26 additions and 1 deletions

View File

@ -705,3 +705,12 @@ config BT_NIMBLE_HIGH_DUTY_ADV_ITVL
depends on BT_NIMBLE_ENABLED depends on BT_NIMBLE_ENABLED
help help
This enable BLE high duty advertising interval feature 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

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

@ -1 +1 @@
Subproject commit 37877f9b643c03e0ce9e39db4b9301f3a711a1b5 Subproject commit d826fefc3ad172beb43e4e986575eb132c2c3936

View File

@ -1719,4 +1719,12 @@
#endif #endif
#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 #endif