From 0a416cd6c599206325fc869b97cdf2134b607a1f Mon Sep 17 00:00:00 2001 From: yinqingzhao Date: Tue, 16 Jun 2026 11:14:41 +0800 Subject: [PATCH 1/3] fix(wifi): fix cache access error in wifi interrupt with psram enabled --- components/esp_coex/esp32/esp_coex_adapter.c | 2 +- components/esp_coex/esp32c5/esp_coex_adapter.c | 2 +- components/esp_coex/esp32c61/esp_coex_adapter.c | 2 +- components/esp_coex/esp32h4/esp_coex_adapter.c | 2 +- components/esp_coex/esp32s31/esp_coex_adapter.c | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/components/esp_coex/esp32/esp_coex_adapter.c b/components/esp_coex/esp32/esp_coex_adapter.c index fbd93f6a6ad..65c1fa40021 100644 --- a/components/esp_coex/esp32/esp_coex_adapter.c +++ b/components/esp_coex/esp32/esp_coex_adapter.c @@ -46,7 +46,7 @@ void * esp_coex_common_spin_lock_create_wrapper(void) void *mux = heap_caps_malloc(sizeof(portMUX_TYPE), MALLOC_CAP_8BIT|MALLOC_CAP_INTERNAL); if (mux) { - memcpy(mux,&tmp,sizeof(portMUX_TYPE)); + memcpy(mux, &tmp, sizeof(portMUX_TYPE)); return mux; } return NULL; diff --git a/components/esp_coex/esp32c5/esp_coex_adapter.c b/components/esp_coex/esp32c5/esp_coex_adapter.c index 8588b7348d1..48b871c8a44 100644 --- a/components/esp_coex/esp32c5/esp_coex_adapter.c +++ b/components/esp_coex/esp32c5/esp_coex_adapter.c @@ -39,7 +39,7 @@ bool IRAM_ATTR esp_coex_common_env_is_chip_wrapper(void) void *esp_coex_common_spin_lock_create_wrapper(void) { portMUX_TYPE tmp = portMUX_INITIALIZER_UNLOCKED; - void *mux = malloc(sizeof(portMUX_TYPE)); + void *mux = heap_caps_malloc(sizeof(portMUX_TYPE), MALLOC_CAP_8BIT|MALLOC_CAP_INTERNAL); if (mux) { memcpy(mux, &tmp, sizeof(portMUX_TYPE)); diff --git a/components/esp_coex/esp32c61/esp_coex_adapter.c b/components/esp_coex/esp32c61/esp_coex_adapter.c index 059160f7bab..2778940239d 100644 --- a/components/esp_coex/esp32c61/esp_coex_adapter.c +++ b/components/esp_coex/esp32c61/esp_coex_adapter.c @@ -40,7 +40,7 @@ bool IRAM_ATTR esp_coex_common_env_is_chip_wrapper(void) void *esp_coex_common_spin_lock_create_wrapper(void) { portMUX_TYPE tmp = portMUX_INITIALIZER_UNLOCKED; - void *mux = malloc(sizeof(portMUX_TYPE)); + void *mux = heap_caps_malloc(sizeof(portMUX_TYPE), MALLOC_CAP_8BIT|MALLOC_CAP_INTERNAL); if (mux) { memcpy(mux, &tmp, sizeof(portMUX_TYPE)); diff --git a/components/esp_coex/esp32h4/esp_coex_adapter.c b/components/esp_coex/esp32h4/esp_coex_adapter.c index f9592d2624b..49bb8130669 100644 --- a/components/esp_coex/esp32h4/esp_coex_adapter.c +++ b/components/esp_coex/esp32h4/esp_coex_adapter.c @@ -40,7 +40,7 @@ bool IRAM_ATTR esp_coex_common_env_is_chip_wrapper(void) void *esp_coex_common_spin_lock_create_wrapper(void) { portMUX_TYPE tmp = portMUX_INITIALIZER_UNLOCKED; - void *mux = malloc(sizeof(portMUX_TYPE)); + void *mux = heap_caps_malloc(sizeof(portMUX_TYPE), MALLOC_CAP_8BIT|MALLOC_CAP_INTERNAL); if (mux) { memcpy(mux, &tmp, sizeof(portMUX_TYPE)); diff --git a/components/esp_coex/esp32s31/esp_coex_adapter.c b/components/esp_coex/esp32s31/esp_coex_adapter.c index 858c8714c3c..ec8eddb75cd 100644 --- a/components/esp_coex/esp32s31/esp_coex_adapter.c +++ b/components/esp_coex/esp32s31/esp_coex_adapter.c @@ -40,10 +40,10 @@ bool IRAM_ATTR esp_coex_common_env_is_chip_wrapper(void) void *esp_coex_common_spin_lock_create_wrapper(void) { portMUX_TYPE tmp = portMUX_INITIALIZER_UNLOCKED; - void *mux = malloc(sizeof(portMUX_TYPE)); + void *mux = heap_caps_malloc(sizeof(portMUX_TYPE), MALLOC_CAP_8BIT|MALLOC_CAP_INTERNAL); if (mux) { - memcpy(mux, &tmp, sizeof(portMUX_TYPE)); + memcpy(mux,&tmp,sizeof(portMUX_TYPE)); return mux; } return NULL; From 657d43c1e63cf68edcc5c1fee9936c81cfa497eb Mon Sep 17 00:00:00 2001 From: yinqingzhao Date: Mon, 15 Jun 2026 15:15:28 +0800 Subject: [PATCH 2/3] fix(wifi): comment out pm_process_tim from ld files for esp32c61 --- components/esp_rom/esp32c61/ld/esp32c61.rom.eco4.ld | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/esp_rom/esp32c61/ld/esp32c61.rom.eco4.ld b/components/esp_rom/esp32c61/ld/esp32c61.rom.eco4.ld index 4f5a17278ce..a700a1d35c5 100644 --- a/components/esp_rom/esp32c61/ld/esp32c61.rom.eco4.ld +++ b/components/esp_rom/esp32c61/ld/esp32c61.rom.eco4.ld @@ -26,7 +26,7 @@ pm_check_state = 0x40000cb4; pm_set_beacon_filter = 0x40000cd8; //pm_is_in_wifi_slice_threshold = 0x40000cdc; //pm_keep_alive = 0x40000ce4; -pm_process_tim = 0x40000d14; +//pm_process_tim = 0x40000d14; //pm_tbtt_process = 0x40000d28; pm_tx_data_process = 0x40000d44; pm_twt_process = 0x40000d54; From 951d2d902b2591a9be532932076b51a11543d5c9 Mon Sep 17 00:00:00 2001 From: yinqingzhao Date: Mon, 15 Jun 2026 16:22:16 +0800 Subject: [PATCH 3/3] fix(wifi): fix still performing active scan on unsupported channels in auto policy --- components/esp_wifi/lib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/esp_wifi/lib b/components/esp_wifi/lib index e54196faa03..1747224af60 160000 --- a/components/esp_wifi/lib +++ b/components/esp_wifi/lib @@ -1 +1 @@ -Subproject commit e54196faa039e7836847a2920da749e4abbb3d96 +Subproject commit 1747224af600785e11ffe41b1df4201be7632464