Skip to content

Commit 06ddc2b

Browse files
cvinayakaescolar
authored andcommitted
Bluetooth: controller: Fix Rx and Tx buffer sizes
Fix incorrectly defined Rx and Tx buffer sizes. Wrong calculation allocated more memory than necessary. Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
1 parent a4370b7 commit 06ddc2b

File tree

2 files changed

+5
-10
lines changed

2 files changed

+5
-10
lines changed

subsys/bluetooth/controller/ll_sw/ull.c

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -145,16 +145,12 @@ static struct {
145145
static MFIFO_DEFINE(pdu_rx_free, sizeof(void *), PDU_RX_CNT);
146146
static MFIFO_DEFINE(ll_pdu_rx_free, sizeof(void *), LL_PDU_RX_CNT);
147147

148-
#if defined(CONFIG_BT_RX_BUF_LEN)
149-
#define PDU_RX_OCTETS_MAX (CONFIG_BT_RX_BUF_LEN - 11)
150-
#endif
151-
152148
#define NODE_RX_HEADER_SIZE (offsetof(struct node_rx_pdu, pdu))
153149
#define NODE_RX_FOOTER_SIZE (sizeof(struct node_rx_ftr))
154150
#define NODE_RX_STRUCT_OVERHEAD (NODE_RX_HEADER_SIZE + NODE_RX_FOOTER_SIZE)
155151

156-
#define PDU_ADVERTIZE_SIZE (PDU_AC_SIZE_MAX + PDU_AC_SIZE_EXTRA)
157-
#define PDU_DATA_SIZE (PDU_DC_LL_HEADER_SIZE + PDU_RX_OCTETS_MAX)
152+
#define PDU_ADVERTIZE_SIZE (PDU_AC_SIZE_MAX + PDU_AC_SIZE_EXTRA)
153+
#define PDU_DATA_SIZE (PDU_DC_LL_HEADER_SIZE + LL_LENGTH_OCTETS_RX_MAX)
158154

159155
#define PDU_RX_NODE_POOL_ELEMENT_SIZE \
160156
MROUND( \

subsys/bluetooth/controller/ll_sw/ull_conn.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -95,10 +95,9 @@ static void ticker_op_cb(u32_t status, void *params);
9595
CONFIG_BT_CTLR_TX_BUFFER_SIZE)
9696

9797
#define CONN_TX_CTRL_BUFFERS 2
98-
#define CONN_TX_CTRL_BUF_SIZE (MROUND(offsetof(struct node_tx, pdu) + \
99-
offsetof(struct pdu_data, llctrl) + \
100-
sizeof(struct pdu_data_llctrl)) * \
101-
CONN_TX_CTRL_BUFFERS)
98+
#define CONN_TX_CTRL_BUF_SIZE MROUND(offsetof(struct node_tx, pdu) + \
99+
offsetof(struct pdu_data, llctrl) + \
100+
sizeof(struct pdu_data_llctrl))
102101

103102
static MFIFO_DEFINE(conn_tx, sizeof(struct lll_tx), CONFIG_BT_CTLR_TX_BUFFERS);
104103
static MFIFO_DEFINE(conn_ack, sizeof(struct lll_tx), CONFIG_BT_CTLR_TX_BUFFERS);

0 commit comments

Comments
 (0)