fix(openthread): disable rx_abort events in next operation

This commit is contained in:
Tan Yan Quan
2025-06-06 12:26:44 +08:00
parent 2209a6c0b5
commit ce970143bb

View File

@@ -385,6 +385,7 @@ static IRAM_ATTR void next_operation(void)
#if !CONFIG_IEEE802154_TEST #if !CONFIG_IEEE802154_TEST
if (s_pending_tx.frame) { if (s_pending_tx.frame) {
// Here the driver needs to recover the setting of rx aborts, see function `ieee802154_transmit`. // Here the driver needs to recover the setting of rx aborts, see function `ieee802154_transmit`.
ieee802154_ll_disable_rx_abort_events(IEEE802154_RX_ABORT_ALL);
ieee802154_ll_enable_rx_abort_events(BIT(IEEE802154_RX_ABORT_BY_TX_ACK_TIMEOUT - 1) | BIT(IEEE802154_RX_ABORT_BY_TX_ACK_COEX_BREAK - 1)); ieee802154_ll_enable_rx_abort_events(BIT(IEEE802154_RX_ABORT_BY_TX_ACK_TIMEOUT - 1) | BIT(IEEE802154_RX_ABORT_BY_TX_ACK_COEX_BREAK - 1));
// Clear the RX abort event again for avoiding the risk if there are still some rx abort events created after last isr process. // Clear the RX abort event again for avoiding the risk if there are still some rx abort events created after last isr process.
ieee802154_ll_clear_events(IEEE802154_EVENT_RX_ABORT); ieee802154_ll_clear_events(IEEE802154_EVENT_RX_ABORT);