Skip to content

Commit 24efea7

Browse files
cvinayakcarlescufi
authored andcommitted
Bluetooth: Controller: Fix infinite loop receiving ISO Data
Fix inifinite loop in ll_rx_get() when both ISO Broadcast and ISO Receive features are enabled in a build. Missing conditional compile prevented the ack_last index that maintains a relation between number of packets complete and the received data packets was unassigned. Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
1 parent 047b756 commit 24efea7

File tree

1 file changed

+2
-2
lines changed
  • subsys/bluetooth/controller/ll_sw

1 file changed

+2
-2
lines changed

subsys/bluetooth/controller/ll_sw/ull.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1686,14 +1686,14 @@ void ll_rx_release(void *node_rx)
16861686

16871687
void ll_rx_put(memq_link_t *link, void *rx)
16881688
{
1689-
#if defined(CONFIG_BT_CONN)
1689+
#if defined(CONFIG_BT_CONN) || defined(CONFIG_BT_CTLR_ADV_ISO)
16901690
struct node_rx_hdr *rx_hdr = rx;
16911691

16921692
/* Serialize Tx ack with Rx enqueue by storing reference to
16931693
* last element index in Tx ack FIFO.
16941694
*/
16951695
rx_hdr->ack_last = mfifo_tx_ack.l;
1696-
#endif /* CONFIG_BT_CONN */
1696+
#endif /* CONFIG_BT_CONN || CONFIG_BT_CTLR_ADV_ISO */
16971697

16981698
/* Enqueue the Rx object */
16991699
memq_enqueue(link, rx, &memq_ll_rx.tail);

0 commit comments

Comments
 (0)