Skip to content

Commit

Permalink
[nrf528xx] clear psdu_being_received in CRCOK handler (#776)
Browse files Browse the repository at this point in the history
The flag psdu_being_received is set to True when the radio driver
receives the FCF field of the data frame, and the flag will be cleared
after the ACK is sent out if the ACK is required. Sometimes, the ACK
is failed to be sent out, which causes the flag to be set to True
forever. Then the radio driver can't send out any frames.

The sdk-nrfxlib (https://github.com/nrfconnect/sdk-nrfxlib/blob/main/nrf_802154/driver/src/nrf_802154_trx.c#L2492)
clears the flag `psdu_being_received` in the CRCOK handler. This commit clears
the flag `psdu_being_received` when the irq_crcok_state_rx() is handled.

Ref: https://nrfsupport.atlassian.net/browse/NRF11-73
  • Loading branch information
zhanglongxia authored Apr 9, 2024
1 parent 4fd7b34 commit 86e6a82
Showing 1 changed file with 4 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2087,6 +2087,10 @@ static void irq_crcok_state_rx(void)

m_flags.rssi_started = true;

#if !NRF_802154_DISABLE_BCC_MATCHING
m_flags.psdu_being_received = false;
#endif

#if NRF_802154_DISABLE_BCC_MATCHING
uint8_t num_data_bytes = PHR_SIZE + FCF_SIZE;
uint8_t prev_num_data_bytes = 0;
Expand Down

0 comments on commit 86e6a82

Please sign in to comment.