Jelajahi Sumber

component/bt: fix assert fail when interrupt hlevel disable

xiewenxiang 4 tahun lalu
induk
melakukan
d7995a650e
1 mengubah file dengan 10 tambahan dan 2 penghapusan
  1. 10 2
      components/bt/controller/esp32/bt.c

+ 10 - 2
components/bt/controller/esp32/bt.c

@@ -1796,13 +1796,21 @@ esp_err_t esp_bt_controller_deinit(void)
     return ESP_OK;
 }
 
+static void bt_controller_shutdown(void* arg)
+{
+    esp_bt_controller_shutdown();
+}
+
 static void bt_shutdown(void)
 {
     if (btdm_controller_status != ESP_BT_CONTROLLER_STATUS_ENABLED) {
         return;
     }
-
-    esp_bt_controller_shutdown();
+#if !CONFIG_FREERTOS_UNICORE
+    esp_ipc_call_blocking(CONFIG_BTDM_CTRL_PINNED_TO_CORE, bt_controller_shutdown, NULL);
+#else
+    bt_controller_shutdown(NULL);
+#endif
     esp_phy_disable();
 
     return;