Skip to content

Commit

Permalink
Nimble: Added change to give time to allocate buffers, in case previous
Browse files Browse the repository at this point in the history
allocation fails

Closes #10849
  • Loading branch information
rahult-github committed Mar 8, 2023
1 parent fc9538c commit eb30445
Showing 1 changed file with 10 additions and 6 deletions.
16 changes: 10 additions & 6 deletions components/bt/host/nimble/esp-hci/src/esp_nimble_hci.c
Original file line number Diff line number Diff line change
Expand Up @@ -140,19 +140,23 @@ int ble_hci_trans_reset(void)

static void ble_hci_rx_acl(uint8_t *data, uint16_t len)
{
struct os_mbuf *m;
struct os_mbuf *m = NULL;
int rc;
int sr;
if (len < BLE_HCI_DATA_HDR_SZ || len > MYNEWT_VAL(BLE_TRANSPORT_ACL_SIZE)) {
return;
}

m = ble_transport_alloc_acl_from_hs();
do {
m = ble_transport_alloc_acl_from_hs();

if (!m) {
ESP_LOGD(TAG,"Failed to allocate buffer, retrying \n");
/* Give some time to free buffer and try again */
vTaskDelay(1);
}
}while(!m);

if (!m) {
ESP_LOGE(TAG, "%s failed to allocate ACL buffers; increase ACL_BUF_COUNT", __func__);
return;
}
if ((rc = os_mbuf_append(m, data, len)) != 0) {
ESP_LOGE(TAG, "%s failed to os_mbuf_append; rc = %d", __func__, rc);
os_mbuf_free_chain(m);
Expand Down

0 comments on commit eb30445

Please sign in to comment.