From 3169556592303f27bc01c6c79225288883d7dbd4 Mon Sep 17 00:00:00 2001 From: Vinayak Kariappa Chettimada Date: Fri, 7 Jun 2019 16:32:48 +0200 Subject: [PATCH] Bluetooth: controller: split: Fix tx_ack mfifo count Fix the tx_ack mfifo count to accomodate both data and control PDUs being acknowledged. With out this fix, pending maximum number of data plus control PDUs in LLL on supervision timeout asserted due to tx_ack mfifo overflow. Signed-off-by: Vinayak Kariappa Chettimada --- subsys/bluetooth/controller/ll_sw/ull_conn.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/subsys/bluetooth/controller/ll_sw/ull_conn.c b/subsys/bluetooth/controller/ll_sw/ull_conn.c index 40016e4a537..d98ec5f01aa 100644 --- a/subsys/bluetooth/controller/ll_sw/ull_conn.c +++ b/subsys/bluetooth/controller/ll_sw/ull_conn.c @@ -102,7 +102,8 @@ static void ticker_start_conn_op_cb(u32_t status, void *param); sizeof(struct pdu_data_llctrl)) static MFIFO_DEFINE(conn_tx, sizeof(struct lll_tx), CONFIG_BT_CTLR_TX_BUFFERS); -static MFIFO_DEFINE(conn_ack, sizeof(struct lll_tx), CONFIG_BT_CTLR_TX_BUFFERS); +static MFIFO_DEFINE(conn_ack, sizeof(struct lll_tx), + (CONFIG_BT_CTLR_TX_BUFFERS + CONN_TX_CTRL_BUFFERS)); static struct { @@ -1159,8 +1160,8 @@ void ull_conn_tx_demux(u8_t count) break; } - conn = ll_conn_get(lll_tx->handle); - if (conn->lll.handle == lll_tx->handle) { + conn = ll_connected_get(lll_tx->handle); + if (conn) { struct node_tx *tx = lll_tx->node; tx->next = NULL;