fix(ieee802154): clear RX buffer state on MAC init

This commit is contained in:
Xu Si Yu
2026-08-11 20:43:04 +08:00
parent f6fc79af1c
commit d3cbea1a8c

View File

@@ -127,6 +127,16 @@ esp_err_t ieee802154_receive_handle_done(const uint8_t *data)
return ESP_OK;
}
static void ieee802154_rx_buffer_clear(void)
{
memset(s_rx_frame, 0, sizeof(s_rx_frame));
memset(s_rx_frame_info, 0, sizeof(s_rx_frame_info));
s_rx_index = 0;
s_recent_rx_frame_info_index = 0;
s_needs_next_operation = false;
s_pending_rx_stop = false;
}
static IRAM_ATTR void event_end_process(void)
{
ieee802154_etm_channel_clear(IEEE802154_ETM_CHANNEL0);
@@ -918,8 +928,7 @@ esp_err_t ieee802154_mac_init(void)
ieee802154_txon_delay_set();
memset(s_rx_frame, 0, sizeof(s_rx_frame));
ieee802154_rx_buffer_clear();
ieee802154_set_state(IEEE802154_STATE_IDLE);
// TODO: Add flags for IEEE802154 ISR allocating. TZ-102