Jelajahi Sumber

Merge branch 'bugfix/fix_memory_leak_controller_deinit_v4.4' into 'release/v4.4'

Bugfix/fix memory leak controller deinit v4.4

See merge request espressif/esp-idf!15968
Wang Meng Yang 4 tahun lalu
induk
melakukan
8517af090d
1 mengubah file dengan 12 tambahan dan 3 penghapusan
  1. 12 3
      components/bt/controller/esp32/bt.c

+ 12 - 3
components/bt/controller/esp32/bt.c

@@ -1760,9 +1760,18 @@ esp_err_t esp_bt_controller_deinit(void)
         esp_pm_lock_delete(s_light_sleep_pm_lock);
         s_light_sleep_pm_lock = NULL;
     }
-    esp_timer_stop(s_btdm_slp_tmr);
-    esp_timer_delete(s_btdm_slp_tmr);
-    s_btdm_slp_tmr = NULL;
+
+    if (s_pm_lock != NULL) {
+        esp_pm_lock_delete(s_pm_lock);
+        s_pm_lock = NULL;
+    }
+
+    if (s_btdm_slp_tmr != NULL) {
+        esp_timer_stop(s_btdm_slp_tmr);
+        esp_timer_delete(s_btdm_slp_tmr);
+        s_btdm_slp_tmr = NULL;
+    }
+
     s_pm_lock_acquired = false;
 #endif
     semphr_delete_wrapper(s_wakeup_req_sem);