Bluetooth: controller: split: conn handle invalidation on release
Move invalidation of connection handle to connection context release done on release of terminate rx node. Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
This commit is contained in:
parent
d3e3f8d2b4
commit
7417e6e09e
|
@ -818,16 +818,29 @@ void ll_rx_mem_release(void **node_rx)
|
|||
case NODE_RX_TYPE_TERMINATE:
|
||||
{
|
||||
struct ll_conn *conn;
|
||||
struct lll_conn *lll;
|
||||
memq_link_t *link;
|
||||
|
||||
/* Get the connection context */
|
||||
conn = ll_conn_get(rx_free->handle);
|
||||
lll = &conn->lll;
|
||||
|
||||
LL_ASSERT(!conn->lll.link_tx_free);
|
||||
link = memq_deinit(&conn->lll.memq_tx.head,
|
||||
&conn->lll.memq_tx.tail);
|
||||
/* Invalidate the connection context */
|
||||
lll->handle = 0xFFFF;
|
||||
|
||||
/* Demux and flush Tx PDUs that remain enqueued in
|
||||
* thread context
|
||||
*/
|
||||
ull_conn_tx_demux(UINT8_MAX);
|
||||
|
||||
/* De-initialize tx memq and release the used link */
|
||||
LL_ASSERT(!lll->link_tx_free);
|
||||
link = memq_deinit(&lll->memq_tx.head,
|
||||
&lll->memq_tx.tail);
|
||||
LL_ASSERT(link);
|
||||
conn->lll.link_tx_free = link;
|
||||
lll->link_tx_free = link;
|
||||
|
||||
/* Release the connection context to free pool */
|
||||
ll_conn_release(conn);
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -1713,9 +1713,6 @@ static void conn_cleanup(struct ll_conn *conn, u8_t reason)
|
|||
ticker_op_stop_cb, (void *)lll);
|
||||
LL_ASSERT((ticker_status == TICKER_STATUS_SUCCESS) ||
|
||||
(ticker_status == TICKER_STATUS_BUSY));
|
||||
|
||||
/* Demux and flush Tx PDUs that remain enqueued in thread context */
|
||||
ull_conn_tx_demux(UINT8_MAX);
|
||||
}
|
||||
|
||||
static void tx_ull_flush(struct ll_conn *conn)
|
||||
|
@ -1743,9 +1740,6 @@ static void tx_lll_flush(void *param)
|
|||
|
||||
lll_conn_flush(lll);
|
||||
|
||||
/* Invalidate the connection context */
|
||||
lll->handle = 0xFFFF;
|
||||
|
||||
link = memq_dequeue(lll->memq_tx.tail, &lll->memq_tx.head,
|
||||
(void **)&tx);
|
||||
while (link) {
|
||||
|
|
Loading…
Reference in a new issue