This ensures that the next run doesn't try to access memory
that is no longer valid.
GKI_freebuf(GKI_dequeue(&btu_cb.hci_cmd_cb[i].cmd_cmpl_q));
}
- fixed_queue_unregister_dequeue(btu_l2cap_alarm_queue);
- fixed_queue_unregister_dequeue(btu_general_alarm_queue);
+ btu_task_shut_down(NULL);
fixed_queue_free(btu_bta_msg_queue, NULL);
}
void btu_task_shut_down(UNUSED_ATTR void *context) {
-#if (defined(BTU_BTA_INCLUDED) && BTU_BTA_INCLUDED == TRUE)
+ fixed_queue_unregister_dequeue(btu_bta_msg_queue);
+ fixed_queue_unregister_dequeue(btu_hci_msg_queue);
+ fixed_queue_unregister_dequeue(btu_general_alarm_queue);
+ fixed_queue_unregister_dequeue(btu_oneshot_alarm_queue);
+ fixed_queue_unregister_dequeue(btu_l2cap_alarm_queue);
+
bta_sys_free();
-#endif
btu_free_core();
}