diff --git a/components/esp_hw_support/linker.lf b/components/esp_hw_support/linker.lf index aad0a875222..243cb05b550 100644 --- a/components/esp_hw_support/linker.lf +++ b/components/esp_hw_support/linker.lf @@ -60,3 +60,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 3c4b11c0276..82514670922 160000 --- a/components/esp_wifi/lib +++ b/components/esp_wifi/lib @@ -1 +1 @@ -Subproject commit 3c4b11c0276526119492499f1570d14adff30adb +Subproject commit 82514670922a4e8b4b05f3ca84e754a384de19a0 diff --git a/components/soc/esp32/rtc_io_periph.c b/components/soc/esp32/rtc_io_periph.c index b3e9df3d068..198a7b06deb 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 08944863736..28daefb5479 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 4054e1490a9..fb291f2d8a3 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