Add extra allocation for data pointer returned by controller for ESP IP

This commit is contained in:
Rahul Tank
2022-08-31 08:56:47 +05:30
parent b82f269893
commit 9bcd57d5fa
+13
View File
@@ -41,11 +41,20 @@ static uint32_t ble_hs_hci_sup_feat;
static uint8_t ble_hs_hci_version;
#if CONFIG_BT_NIMBLE_LEGACY_VHCI_ENABLE
#define BLE_HS_HCI_FRAG_DATABUF_SIZE \
(BLE_ACL_MAX_PKT_SIZE + \
BLE_HCI_DATA_HDR_SZ + \
sizeof (struct os_mbuf_pkthdr) + \
sizeof (struct os_mbuf))
#else
#define BLE_HS_HCI_FRAG_DATABUF_SIZE \
(BLE_ACL_MAX_PKT_SIZE + \
BLE_HCI_DATA_HDR_SZ + \
BLE_HS_CTRL_DATA_HDR_SZ + \
sizeof (struct os_mbuf_pkthdr) + \
sizeof (struct os_mbuf))
#endif
#define BLE_HS_HCI_FRAG_MEMBLOCK_SIZE \
(OS_ALIGN(BLE_HS_HCI_FRAG_DATABUF_SIZE, 4))
@@ -423,7 +432,11 @@ ble_hs_hci_frag_alloc(uint16_t frag_size, void *arg)
/* Prefer the dedicated one-element fragment pool. */
om = os_mbuf_get_pkthdr(&ble_hs_hci_frag_mbuf_pool, 0);
if (om != NULL) {
#if CONFIG_BT_NIMBLE_LEGACY_VHCI_ENABLE
om->om_data += BLE_HCI_DATA_HDR_SZ;
#else
om->om_data += BLE_HCI_DATA_HDR_SZ + BLE_HS_CTRL_DATA_HDR_SZ;
#endif
return om;
}