Bluetooth: controller: split: Move invalidation of connection handle
Move invalidation of connection handle when flushing TX buffers into LLL context. Otherwise, LLL may or may not see invalidated handle depending on mayfly scheduling. Signed-off-by: Wolfgang Puffitsch <wopu@demant.com>
This commit is contained in:
parent
a2ddf99f0c
commit
d3e3f8d2b4
|
@ -1714,9 +1714,6 @@ static void conn_cleanup(struct ll_conn *conn, u8_t reason)
|
|||
LL_ASSERT((ticker_status == TICKER_STATUS_SUCCESS) ||
|
||||
(ticker_status == TICKER_STATUS_BUSY));
|
||||
|
||||
/* Invalidate the connection context */
|
||||
lll->handle = 0xFFFF;
|
||||
|
||||
/* Demux and flush Tx PDUs that remain enqueued in thread context */
|
||||
ull_conn_tx_demux(UINT8_MAX);
|
||||
}
|
||||
|
@ -1746,6 +1743,9 @@ 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