From 24d122e19cc46ca18f3b16b3fdf0f11b41491c33 Mon Sep 17 00:00:00 2001 From: Li Shuai Date: Wed, 7 Aug 2024 14:16:50 +0800 Subject: [PATCH 1/2] fix(esp_wifi): fix the issue of station fail to connect to softap caused by abnormal rf flag signal --- components/esp_phy/src/phy_init.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/components/esp_phy/src/phy_init.c b/components/esp_phy/src/phy_init.c index 34316de518..8872655261 100644 --- a/components/esp_phy/src/phy_init.c +++ b/components/esp_phy/src/phy_init.c @@ -313,6 +313,8 @@ void esp_phy_disable(esp_phy_modem_t modem) phy_digital_regs_store(); #endif #if SOC_PM_SUPPORT_PMU_MODEM_STATE && CONFIG_ESP_WIFI_ENHANCED_LIGHT_SLEEP + extern void pm_mac_modem_clear_rf_power_state(void); + pm_mac_modem_clear_rf_power_state(); if (sleep_modem_wifi_modem_state_enabled()) { sleep_modem_wifi_do_phy_retention(false); } else From 2b894fca0f9366336607bb4ac4ac06a17ea68b4d Mon Sep 17 00:00:00 2001 From: "wangtao@espressif.com" Date: Fri, 27 Sep 2024 18:39:57 +0800 Subject: [PATCH 2/2] fix(wifi): fix ampdu to normal cause free buffer twice issue --- components/esp_rom/esp32c2/ld/esp32c2.rom.ld | 2 +- components/esp_rom/esp32c3/ld/esp32c3.rom.ld | 2 +- components/esp_rom/esp32c5/mp/esp32c5/ld/esp32c5.rom.pp.ld | 2 +- components/esp_rom/esp32c61/ld/esp32c61.rom.pp.ld | 2 +- components/esp_rom/esp32s3/ld/esp32s3.rom.ld | 2 +- components/esp_wifi/lib | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/components/esp_rom/esp32c2/ld/esp32c2.rom.ld b/components/esp_rom/esp32c2/ld/esp32c2.rom.ld index 3d5f053e60..27caa88558 100644 --- a/components/esp_rom/esp32c2/ld/esp32c2.rom.ld +++ b/components/esp_rom/esp32c2/ld/esp32c2.rom.ld @@ -1457,7 +1457,7 @@ ppGetTxframe = 0x40001bf8; ppMapTxQueue = 0x40001bfc; ppProcTxSecFrame = 0x40001c00; ppProcessRxPktHdr = 0x40001c04; -ppProcessTxQ = 0x40001c08; +/*ppProcessTxQ = 0x40001c08;*/ ppRecordBarRRC = 0x40001c0c; lmacRequestTxopQueue = 0x40001c10; lmacReleaseTxopQueue = 0x40001c14; diff --git a/components/esp_rom/esp32c3/ld/esp32c3.rom.ld b/components/esp_rom/esp32c3/ld/esp32c3.rom.ld index 5265bbb5c6..9ceaa372ee 100644 --- a/components/esp_rom/esp32c3/ld/esp32c3.rom.ld +++ b/components/esp_rom/esp32c3/ld/esp32c3.rom.ld @@ -1571,7 +1571,7 @@ ppEnqueueTxDone = 0x400016cc; ppGetTxQFirstAvail_Locked = 0x400016d0; ppGetTxframe = 0x400016d4; ppProcessRxPktHdr = 0x400016e0; -ppProcessTxQ = 0x400016e4; +/*ppProcessTxQ = 0x400016e4;*/ ppRecordBarRRC = 0x400016e8; lmacRequestTxopQueue = 0x400016ec; lmacReleaseTxopQueue = 0x400016f0; diff --git a/components/esp_rom/esp32c5/mp/esp32c5/ld/esp32c5.rom.pp.ld b/components/esp_rom/esp32c5/mp/esp32c5/ld/esp32c5.rom.pp.ld index e7cc754e4b..09472c477e 100644 --- a/components/esp_rom/esp32c5/mp/esp32c5/ld/esp32c5.rom.pp.ld +++ b/components/esp_rom/esp32c5/mp/esp32c5/ld/esp32c5.rom.pp.ld @@ -180,7 +180,7 @@ ppGetTxframe = 0x40000e60; ppMapTxQueue = 0x40000e64; ppProcTxSecFrame = 0x40000e68; ppProcessRxPktHdr = 0x40000e6c; -ppProcessTxQ = 0x40000e70; +/*ppProcessTxQ = 0x40000e70;*/ ppRecordBarRRC = 0x40000e74; ppRecycleAmpdu = 0x40000e78; ppRecycleRxPkt = 0x40000e7c; diff --git a/components/esp_rom/esp32c61/ld/esp32c61.rom.pp.ld b/components/esp_rom/esp32c61/ld/esp32c61.rom.pp.ld index a3f9c9586d..6744c5509e 100644 --- a/components/esp_rom/esp32c61/ld/esp32c61.rom.pp.ld +++ b/components/esp_rom/esp32c61/ld/esp32c61.rom.pp.ld @@ -93,7 +93,7 @@ ppGetTxframe = 0x40000c14; ppMapTxQueue = 0x40000c18; ppProcTxSecFrame = 0x40000c1c; ppProcessRxPktHdr = 0x40000c20; -ppProcessTxQ = 0x40000c24; +/*ppProcessTxQ = 0x40000c24;*/ ppRecordBarRRC = 0x40000c28; ppRecycleAmpdu = 0x40000c2c; ppRecycleRxPkt = 0x40000c30; diff --git a/components/esp_rom/esp32s3/ld/esp32s3.rom.ld b/components/esp_rom/esp32s3/ld/esp32s3.rom.ld index 75f17cfe24..888b55b05e 100644 --- a/components/esp_rom/esp32s3/ld/esp32s3.rom.ld +++ b/components/esp_rom/esp32s3/ld/esp32s3.rom.ld @@ -1851,7 +1851,7 @@ ppGetTxQFirstAvail_Locked = 0x400055b0; ppGetTxframe = 0x400055bc; /*ppMapTxQueue = 0x400055c8;*/ ppProcessRxPktHdr = 0x400055e0; -ppProcessTxQ = 0x400055ec; +/*ppProcessTxQ = 0x400055ec;*/ ppRecordBarRRC = 0x400055f8; lmacRequestTxopQueue = 0x40005604; lmacReleaseTxopQueue = 0x40005610; diff --git a/components/esp_wifi/lib b/components/esp_wifi/lib index dc710ebcb5..b45189fc03 160000 --- a/components/esp_wifi/lib +++ b/components/esp_wifi/lib @@ -1 +1 @@ -Subproject commit dc710ebcb50105f382a72d309296ba42f4e79b07 +Subproject commit b45189fc038289175c3277593d02bdfc5e2402eb