Skip to content

Commit 777ddc0

Browse files
ppryga-nordiccarlescufi
authored andcommitted
Bluetooth: Controller: df: Fix missing node_rx release if wrong CTE type
Periodic advertising sync may be created with CTE type filtering enabled. When received AUX_SYNC_IND, there are HCI_LE_Periodic_- Advertising_Sync_Established and HCI_LE_Periodic_Advertising_Report events generated. In case received AUX_SYNC_IND has wrong CTE type, HCI_LE_Periodic_Advertising_Sync_Established event is generated. There may not be HCI_LE_Periodic_Advertising_Report event generated. In this case node_rx, prepared by LLL, was not released in ULL. It was lost in ull_sync_established_report. Signed-off-by: Piotr Pryga <[email protected]>
1 parent c3696cf commit 777ddc0

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

subsys/bluetooth/controller/ll_sw/ull_sync.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -837,6 +837,10 @@ void ull_sync_established_report(memq_link_t *link, struct node_rx_hdr *rx)
837837
*/
838838
rx->type = NODE_RX_TYPE_SYNC_REPORT;
839839
ull_scan_aux_setup(link, rx);
840+
} else {
841+
rx->type = NODE_RX_TYPE_RELEASE;
842+
ll_rx_put(link, rx);
843+
ll_rx_sched();
840844
}
841845
}
842846

0 commit comments

Comments
 (0)