From aebd2c3de4571f5dab8e4eddac3861e953f9f679 Mon Sep 17 00:00:00 2001 From: Rahul Tank Date: Thu, 29 Sep 2022 09:43:38 +0530 Subject: [PATCH] Added checks to disable stack callback registered with controller during stack deinit --- nimble/host/src/ble_hs.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/nimble/host/src/ble_hs.c b/nimble/host/src/ble_hs.c index 651bff265..666240736 100644 --- a/nimble/host/src/ble_hs.c +++ b/nimble/host/src/ble_hs.c @@ -575,11 +575,12 @@ ble_hs_enqueue_hci_event(uint8_t *hci_evt) struct ble_npl_event *ev; ev = os_memblock_get(&ble_hs_hci_ev_pool); - if (ev == NULL) { - ble_hci_trans_buf_free(hci_evt); - } else { + if (ev && ble_hs_evq->eventq) { ble_npl_event_init(ev, ble_hs_event_rx_hci_ev, hci_evt); ble_npl_eventq_put(ble_hs_evq, ev); + } else { + /* Either ev is NULL or queue doesn't exist */ + ble_hci_trans_buf_free(hci_evt); } } @@ -825,6 +826,8 @@ ble_hs_deinit(void) ble_npl_callout_deinit(&ble_hs_timer); + ble_hci_trans_cfg_hs(NULL, NULL, NULL, NULL); + ble_npl_mutex_deinit(&ble_hs_mutex); ble_gap_deinit();