From d7ae17e2ebff7d0f6ec09f34af81f9700f06a64b Mon Sep 17 00:00:00 2001 From: Andrzej Kaczmarek Date: Thu, 22 Sep 2022 20:24:09 +0200 Subject: [PATCH] nimble/ll: Fix failed CRC on AUX_CONNECT_RSP If CRC does not match on AUX_CONNECT_RSP, we should cancel already scheduled connection as otherwise there will be spurious connection timeout as scheduler will run uninitialized connection. --- nimble/controller/src/ble_ll_scan_aux.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nimble/controller/src/ble_ll_scan_aux.c b/nimble/controller/src/ble_ll_scan_aux.c index 23f4986eb..01e516fde 100644 --- a/nimble/controller/src/ble_ll_scan_aux.c +++ b/nimble/controller/src/ble_ll_scan_aux.c @@ -1583,6 +1583,9 @@ ble_ll_scan_aux_rx_pkt_in_for_initiator(struct os_mbuf *rxpdu, aux = rxinfo->user_data; if (rxinfo->flags & BLE_MBUF_HDR_F_IGNORED) { + if (aux->flags & BLE_LL_SCAN_AUX_F_W4_CONNECT_RSP) { + ble_ll_conn_send_connect_req_cancel(); + } ble_ll_scan_aux_free(aux); ble_ll_scan_chk_resume(); return;