|
|
@@ -61,9 +61,9 @@
|
|
|
/* not for user call, so don't put to include file */
|
|
|
extern void btdm_osi_funcs_register(void *osi_funcs);
|
|
|
extern int btdm_controller_init(uint32_t config_mask, esp_bt_controller_config_t *config_opts);
|
|
|
-extern int btdm_controller_deinit(void);
|
|
|
+extern void btdm_controller_deinit(void);
|
|
|
extern int btdm_controller_enable(esp_bt_mode_t mode);
|
|
|
-extern int btdm_controller_disable(esp_bt_mode_t mode);
|
|
|
+extern void btdm_controller_disable(void);
|
|
|
extern uint8_t btdm_controller_get_mode(void);
|
|
|
extern const char *btdm_controller_get_compile_version(void);
|
|
|
extern void btdm_rf_bb_init(void);
|
|
|
@@ -921,9 +921,7 @@ esp_err_t esp_bt_controller_deinit(void)
|
|
|
return ESP_ERR_INVALID_STATE;
|
|
|
}
|
|
|
|
|
|
- if (btdm_controller_deinit() != 0) {
|
|
|
- return ESP_ERR_NO_MEM;
|
|
|
- }
|
|
|
+ btdm_controller_deinit();
|
|
|
|
|
|
periph_module_disable(PERIPH_BT_MODULE);
|
|
|
|
|
|
@@ -997,6 +995,9 @@ esp_err_t esp_bt_controller_enable(esp_bt_mode_t mode)
|
|
|
esp_modem_sleep_deregister(MODEM_BLE_MODULE);
|
|
|
}
|
|
|
esp_phy_rf_deinit(PHY_BT_MODULE);
|
|
|
+#ifdef CONFIG_PM_ENABLE
|
|
|
+ esp_pm_lock_release(s_pm_lock);
|
|
|
+#endif
|
|
|
return ESP_ERR_INVALID_STATE;
|
|
|
}
|
|
|
|
|
|
@@ -1007,8 +1008,6 @@ esp_err_t esp_bt_controller_enable(esp_bt_mode_t mode)
|
|
|
|
|
|
esp_err_t esp_bt_controller_disable(void)
|
|
|
{
|
|
|
- int ret;
|
|
|
-
|
|
|
if (btdm_controller_status != ESP_BT_CONTROLLER_STATUS_ENABLED) {
|
|
|
return ESP_ERR_INVALID_STATE;
|
|
|
}
|
|
|
@@ -1024,22 +1023,17 @@ esp_err_t esp_bt_controller_disable(void)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- ret = btdm_controller_disable(btdm_controller_get_mode());
|
|
|
- if (ret < 0) {
|
|
|
- return ESP_ERR_INVALID_STATE;
|
|
|
- }
|
|
|
+ btdm_controller_disable();
|
|
|
|
|
|
- if (ret == ESP_BT_MODE_IDLE) {
|
|
|
- if (btdm_controller_get_sleep_mode() == BTDM_MODEM_SLEEP_MODE_NONE
|
|
|
- || btdm_controller_get_sleep_mode() == BTDM_MODEM_SLEEP_MODE_ORIG) {
|
|
|
- esp_modem_sleep_deregister(MODEM_BLE_MODULE);
|
|
|
- esp_modem_sleep_deregister(MODEM_CLASSIC_BT_MODULE);
|
|
|
- } else if (btdm_controller_get_sleep_mode() == BTDM_MODEM_SLEEP_MODE_EVED) {
|
|
|
- esp_modem_sleep_deregister(MODEM_BLE_MODULE);
|
|
|
- }
|
|
|
- esp_phy_rf_deinit(PHY_BT_MODULE);
|
|
|
- btdm_controller_status = ESP_BT_CONTROLLER_STATUS_INITED;
|
|
|
+ if (btdm_controller_get_sleep_mode() == BTDM_MODEM_SLEEP_MODE_NONE
|
|
|
+ || btdm_controller_get_sleep_mode() == BTDM_MODEM_SLEEP_MODE_ORIG) {
|
|
|
+ esp_modem_sleep_deregister(MODEM_BLE_MODULE);
|
|
|
+ esp_modem_sleep_deregister(MODEM_CLASSIC_BT_MODULE);
|
|
|
+ } else if (btdm_controller_get_sleep_mode() == BTDM_MODEM_SLEEP_MODE_EVED) {
|
|
|
+ esp_modem_sleep_deregister(MODEM_BLE_MODULE);
|
|
|
}
|
|
|
+ esp_phy_rf_deinit(PHY_BT_MODULE);
|
|
|
+ btdm_controller_status = ESP_BT_CONTROLLER_STATUS_INITED;
|
|
|
|
|
|
#ifdef CONFIG_PM_ENABLE
|
|
|
esp_pm_lock_release(s_pm_lock);
|