bt_status_t btif_shutdown_bluetooth(void) { BTIF_TRACE_DEBUG1("%s", __FUNCTION__); if (btif_is_enabled()) { BTIF_TRACE_WARNING0("shutdown while still enabled, initiate disable"); /* shutdown called prior to disabling, initiate disable */ btif_disable_bluetooth(); btif_shutdown_pending = 1; return BT_STATUS_NOT_READY; } btif_shutdown_pending = 0; GKI_destroy_task(BTIF_TASK); bte_main_shutdown(); btif_dut_mode = 0; BTIF_TRACE_DEBUG1("%s done", __FUNCTION__); return BT_STATUS_SUCCESS; }
/******************************************************************************* ** ** Function btif_disable_bluetooth ** ** Description Inititates shutdown of Bluetooth system. ** Any active links will be dropped and device entering ** non connectable/discoverable mode ** ** Returns void ** *******************************************************************************/ bt_status_t btif_disable_bluetooth(void) { tBTA_STATUS status; if (!btif_is_enabled()) { BTIF_TRACE_ERROR0("btif_disable_bluetooth : not yet enabled"); return BT_STATUS_NOT_READY; } bte_main_disable(); GKI_destroy_task(BTIF_TASK); bte_main_shutdown(); BTIF_TRACE_DEBUG0("BTIF DISABLE BLUETOOTH"); btif_core_state = BTIF_CORE_STATE_DISABLED; HAL_CBACK(bt_hal_cbacks, adapter_state_changed_cb, BT_STATE_OFF); return BT_STATUS_SUCCESS; }
/****************************************************************************** ** ** Function bte_main_disable ** ** Description BTE MAIN API - Destroys all the BTE tasks. Should be called ** part of the Bluetooth stack disable sequence ** ** Returns None ** ******************************************************************************/ void bte_main_disable(void) { APPL_TRACE_DEBUG1("%s", __FUNCTION__); preload_stop_wait_timer(); bte_hci_disable(); GKI_destroy_task(BTU_TASK); GKI_freeze(); }