Bluetooth: controller: fixing CIS establish flow for refactored LLCP
Latest modification to LLCP removed 'monitoring' of cis->established flag in LLCP, relying instead on signal through ULL. For this to work properly the signal must also be generated, so this is introduced. Note - checking of cis->established flag could be removed if caller ensures only calling once (on establish condition) Signed-off-by: Erik Brockhoff <erbr@oticon.com>
This commit is contained in:
parent
998512f59b
commit
a53d89450a
@ -311,11 +311,25 @@ void ull_conn_iso_lll_cis_established(struct lll_conn_iso_stream *cis_lll)
|
||||
{
|
||||
struct ll_conn_iso_stream *cis =
|
||||
ll_conn_iso_stream_get(cis_lll->handle);
|
||||
struct node_rx_pdu *node_rx;
|
||||
|
||||
if (cis->established) {
|
||||
return;
|
||||
}
|
||||
|
||||
node_rx = ull_pdu_rx_alloc();
|
||||
if (!node_rx) {
|
||||
/* No node available - try again later */
|
||||
return;
|
||||
}
|
||||
|
||||
node_rx->hdr.type = NODE_RX_TYPE_CIS_ESTABLISHED;
|
||||
|
||||
/* Send node to ULL RX demuxer for triggering LLCP state machine */
|
||||
node_rx->hdr.handle = cis->lll.acl_handle;
|
||||
|
||||
ull_rx_put_sched(node_rx->hdr.link, node_rx);
|
||||
|
||||
cis->established = 1;
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user