Skip to content

Commit

Permalink
Merge branch 'bugfix/fix_xQueueSemaphoreTask_assert_when_deinit_host'…
Browse files Browse the repository at this point in the history
… into 'master'

Fixed xQueueSemaphoreTask assert when deinit host during scan

Closes BLERP-536 and BLERP-552

See merge request espressif/esp-idf!28767
  • Loading branch information
jack0c committed Feb 5, 2024
2 parents ac76d44 + 5b63a47 commit 289de9d
Showing 1 changed file with 10 additions and 5 deletions.
15 changes: 10 additions & 5 deletions components/bt/host/bluedroid/hci/hci_hal_h4.c
Original file line number Diff line number Diff line change
Expand Up @@ -142,15 +142,20 @@ static bool hci_hal_env_init(const hci_hal_callbacks_t *upper_callbacks, osi_thr

static void hci_hal_env_deinit(void)
{
fixed_queue_free(hci_hal_env.rx_q, osi_free_func);
hci_hal_env.rx_q = NULL;
fixed_queue_t *rx_q = hci_hal_env.rx_q;
struct pkt_queue *adv_rpt_q = hci_hal_env.adv_rpt_q;
struct osi_event *upstream_data_ready = hci_hal_env.upstream_data_ready;

pkt_queue_destroy(hci_hal_env.adv_rpt_q, NULL);
hci_hal_env.rx_q = NULL;
hci_hal_env.adv_rpt_q = NULL;

osi_event_delete(hci_hal_env.upstream_data_ready);
hci_hal_env.upstream_data_ready = NULL;

fixed_queue_free(rx_q, osi_free_func);

pkt_queue_destroy(adv_rpt_q, NULL);

osi_event_delete(upstream_data_ready);

#if (BLE_ADV_REPORT_FLOW_CONTROL == TRUE)
hci_hal_env.cmd_buf_in_use = true;
osi_alarm_cancel(hci_hal_env.adv_flow_monitor);
Expand Down

0 comments on commit 289de9d

Please sign in to comment.