From 77b8276578fdf6c2db8ea8a1ed9a941002a13826 Mon Sep 17 00:00:00 2001 From: "satish.solanke" Date: Fri, 16 Sep 2022 16:34:03 +0530 Subject: [PATCH] Fix: blufi example memory leak while init and deinit --- components/bt/controller/esp32c2/bt.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/components/bt/controller/esp32c2/bt.c b/components/bt/controller/esp32c2/bt.c index 65cfc8b2ac4..fe9400f9097 100644 --- a/components/bt/controller/esp32c2/bt.c +++ b/components/bt/controller/esp32c2/bt.c @@ -552,6 +552,19 @@ void controller_sleep_deinit(void) r_ble_rtc_wake_up_state_clr(); #endif esp_sleep_pd_config(ESP_PD_DOMAIN_XTAL, ESP_PD_OPTION_AUTO); + + /*lock should release first and then delete*/ + if (s_pm_lock_acquired) { + if(s_light_sleep_pm_lock != NULL) + esp_pm_lock_release(s_light_sleep_pm_lock); + } + + if(s_pm_lock != NULL) { + esp_pm_lock_release(s_pm_lock); + } + s_pm_lock_acquired = false; + } + if (!s_btdm_allow_light_sleep) { if (s_light_sleep_pm_lock != NULL) { esp_pm_lock_delete(s_light_sleep_pm_lock);