Merge branch 'fix/fix_coex_iso_cache_error_v6.1' into 'release/v6.1'

fix(coex): Fixed BLE iso coex cache error (6.1)

See merge request espressif/esp-idf!50849
This commit is contained in:
Jiang Jiang Jian
2026-07-17 11:43:27 +08:00
5 changed files with 20 additions and 4 deletions
@@ -6,6 +6,7 @@
#include <stddef.h>
#include "sdkconfig.h"
#include "btdm_coex.h"
#include "esp_attr.h"
#if CONFIG_SW_COEXIST_ENABLE
#include "private/esp_coexist_internal.h"
@@ -150,7 +151,7 @@ wr_btdm_coex_iso_stop(uint16_t handle)
#endif /* CONFIG_SW_COEXIST_ENABLE */
}
uint16_t
uint16_t IRAM_ATTR
wr_btdm_coex_iso_protect_frame_thres_get(void)
{
#if CONFIG_SW_COEXIST_ENABLE && CONFIG_BT_LE_ISO_SUPPORT
+9 -1
View File
@@ -1,11 +1,13 @@
/*
* SPDX-FileCopyrightText: 2023-2025 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2023-2026 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef __COEXIST_I154_H__
#define __COEXIST_I154_H__
#include <stdbool.h>
/**
* @brief 802.15.4 coex event
*/
@@ -63,4 +65,10 @@ void esp_coex_ieee802154_status_enable(void);
*/
void esp_coex_ieee802154_status_disable(void);
/**
* @brief Configure the 802.15.4 force Rx state
* @param enable true to enable, false to disable
*/
void esp_coex_ieee802154_force_rx_enable(bool enable);
#endif
@@ -35,7 +35,7 @@ coex_hw_timer_set = 0x2f800c24;
coex_schm_interval_set = 0x2f800c28;
coex_schm_lock = 0x2f800c2c;
coex_schm_unlock = 0x2f800c30;
coex_status_get = 0x2f800c34;
//coex_status_get = 0x2f800c34;
coex_wifi_release = 0x2f800c38;
esp_coex_ble_conn_dynamic_prio_get = 0x2f800c3c;
/* Data (.data, .bss, .rodata) */
@@ -925,12 +925,19 @@ esp_err_t ieee802154_mac_init(void)
ESP_RETURN_ON_FALSE(ieee802154_sleep_init() == ESP_OK, ESP_FAIL, IEEE802154_TAG, "IEEE802154 MAC sleep init failed");
#if CONFIG_ESP_COEX_EXTERNAL_COEXIST_ENABLE
esp_coex_ieee802154_force_rx_enable(true);
#endif
return ret;
}
esp_err_t ieee802154_mac_deinit(void)
{
esp_err_t ret = ESP_OK;
#if CONFIG_ESP_COEX_EXTERNAL_COEXIST_ENABLE
esp_coex_ieee802154_force_rx_enable(false);
#endif
if (s_ieee802154_isr_handle) {
ret = esp_intr_free(s_ieee802154_isr_handle);
s_ieee802154_isr_handle = NULL;