diff --git a/components/esp_hw_support/linker.lf b/components/esp_hw_support/linker.lf index 68323fbaf9..4856746c46 100644 --- a/components/esp_hw_support/linker.lf +++ b/components/esp_hw_support/linker.lf @@ -52,3 +52,6 @@ archive: libsoc.a entries: if PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP && ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND: gpio_periph: GPIO_HOLD_MASK (noflash) + if PM_SLP_IRAM_OPT = y: + if IDF_TARGET_ESP32 = y: + rtc_io_periph:rtc_io_desc (noflash_data) diff --git a/components/esp_wifi/lib b/components/esp_wifi/lib index a62cf923ac..2b0bccda5c 160000 --- a/components/esp_wifi/lib +++ b/components/esp_wifi/lib @@ -1 +1 @@ -Subproject commit a62cf923ac20bc8ceeb489ce4c32941caead9a0d +Subproject commit 2b0bccda5cd4e3f5b8b26b3c2fb947331898bdff diff --git a/components/soc/esp32/rtc_io_periph.c b/components/soc/esp32/rtc_io_periph.c index b3e9df3d06..198a7b06de 100644 --- a/components/soc/esp32/rtc_io_periph.c +++ b/components/soc/esp32/rtc_io_periph.c @@ -4,10 +4,11 @@ * SPDX-License-Identifier: Apache-2.0 */ +#include "esp_attr.h" #include "soc/rtc_periph.h" #include "soc/rtc_io_reg.h" -const int8_t rtc_io_num_map[SOC_GPIO_PIN_COUNT] = { +DRAM_ATTR const int8_t rtc_io_num_map[SOC_GPIO_PIN_COUNT] = { RTCIO_GPIO0_CHANNEL, //GPIO0 -1,//GPIO1 RTCIO_GPIO2_CHANNEL, //GPIO2 diff --git a/components/wpa_supplicant/src/ap/sta_info.c b/components/wpa_supplicant/src/ap/sta_info.c index 0894486373..28daefb547 100644 --- a/components/wpa_supplicant/src/ap/sta_info.c +++ b/components/wpa_supplicant/src/ap/sta_info.c @@ -173,15 +173,14 @@ struct sta_info * ap_sta_add(struct hostapd_data *hapd, const u8 *addr) /* initialize STA info data */ os_memcpy(sta->addr, addr, ETH_ALEN); sta->next = hapd->sta_list; - hapd->sta_list = sta; - hapd->num_sta++; - ap_sta_hash_add(hapd, sta); #ifdef CONFIG_SAE sta->sae_commit_processing = false; sta->remove_pending = false; sta->lock = os_semphr_create(1, 1); #endif /* CONFIG_SAE */ - + hapd->sta_list = sta; + hapd->num_sta++; + ap_sta_hash_add(hapd, sta); return sta; } diff --git a/examples/wifi/power_save/sdkconfig.ci.default b/examples/wifi/power_save/sdkconfig.ci.default index 4054e1490a..fb291f2d8a 100644 --- a/examples/wifi/power_save/sdkconfig.ci.default +++ b/examples/wifi/power_save/sdkconfig.ci.default @@ -1 +1,2 @@ CONFIG_EXAMPLE_GET_AP_INFO_FROM_STDIN=y +CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION=y