mirror of
https://github.com/espressif/esp-nimble.git
synced 2026-11-06 20:42:47 +00:00
nimble/host: Use static buffer for GAP mempool
It is only allocated on startup and host initialization will fail in case it cannot be allocated, so let's just make it static. X-Original-Commit: 881eae1633d347a9a30019e90ffe17585f467abf
This commit is contained in:
@@ -22,7 +22,6 @@
|
||||
#include <errno.h>
|
||||
#include "bsp/bsp.h"
|
||||
#include "os/os.h"
|
||||
#include "mem/mem.h"
|
||||
#include "nimble/nimble_opt.h"
|
||||
#include "host/ble_hs_adv.h"
|
||||
#include "host/ble_hs_hci.h"
|
||||
@@ -172,7 +171,9 @@ struct ble_gap_snapshot {
|
||||
void *cb_arg;
|
||||
};
|
||||
|
||||
static void *ble_gap_update_entry_mem;
|
||||
static os_membuf_t ble_gap_update_entry_mem[
|
||||
OS_MEMPOOL_SIZE(BLE_GAP_MAX_UPDATE_ENTRIES,
|
||||
sizeof (struct ble_gap_update_entry))];
|
||||
static struct os_mempool ble_gap_update_entry_pool;
|
||||
static struct ble_gap_update_entry_list ble_gap_update_entries;
|
||||
|
||||
@@ -4413,18 +4414,16 @@ ble_gap_init(void)
|
||||
{
|
||||
int rc;
|
||||
|
||||
free(ble_gap_update_entry_mem);
|
||||
|
||||
memset(&ble_gap_master, 0, sizeof ble_gap_master);
|
||||
memset(ble_gap_slave, 0, sizeof ble_gap_slave);
|
||||
|
||||
SLIST_INIT(&ble_gap_update_entries);
|
||||
|
||||
rc = mem_malloc_mempool(&ble_gap_update_entry_pool,
|
||||
BLE_GAP_MAX_UPDATE_ENTRIES,
|
||||
sizeof (struct ble_gap_update_entry),
|
||||
"ble_gap_update",
|
||||
&ble_gap_update_entry_mem);
|
||||
rc = os_mempool_init(&ble_gap_update_entry_pool,
|
||||
BLE_GAP_MAX_UPDATE_ENTRIES,
|
||||
sizeof (struct ble_gap_update_entry),
|
||||
ble_gap_update_entry_mem,
|
||||
"ble_gap_update");
|
||||
switch (rc) {
|
||||
case 0:
|
||||
break;
|
||||
@@ -4446,8 +4445,5 @@ ble_gap_init(void)
|
||||
return 0;
|
||||
|
||||
err:
|
||||
free(ble_gap_update_entry_mem);
|
||||
ble_gap_update_entry_mem = NULL;
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user