mirror of
https://github.com/espressif/openthread.git
synced 2026-09-01 23:09:53 +00:00
Fix a packet receive issue in CC2538 radio driver (#969)
If a device sends an ACK required packet, but receives a packet other than ACK, then it should trigger the ReceiveDone() method with the received packet.
This commit is contained in:
@@ -381,7 +381,9 @@ void cc2538RadioProcess(otInstance *aInstance)
|
|||||||
{
|
{
|
||||||
readFrame();
|
readFrame();
|
||||||
|
|
||||||
if ((sState == kStateReceive) && (sReceiveFrame.mLength > 0))
|
if ((sState == kStateReceive && sReceiveFrame.mLength > 0) ||
|
||||||
|
(sState == kStateTransmit && sReceiveFrame.mLength > 0 &&
|
||||||
|
(sReceiveFrame.mPsdu[0] & IEEE802154_FRAME_TYPE_MASK) != IEEE802154_FRAME_TYPE_ACK))
|
||||||
{
|
{
|
||||||
#if OPENTHREAD_ENABLE_DIAG
|
#if OPENTHREAD_ENABLE_DIAG
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user