diff --git a/components/ieee802154/driver/esp_ieee802154_dev.c b/components/ieee802154/driver/esp_ieee802154_dev.c index b32a3599d41..7136454a430 100644 --- a/components/ieee802154/driver/esp_ieee802154_dev.c +++ b/components/ieee802154/driver/esp_ieee802154_dev.c @@ -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