diff --git a/src/core/mac/sub_mac.cpp b/src/core/mac/sub_mac.cpp index b6029352c..5f19197d9 100644 --- a/src/core/mac/sub_mac.cpp +++ b/src/core/mac/sub_mac.cpp @@ -286,9 +286,6 @@ void SubMac::BeginTransmit(void) error = Get().Receive(mTransmitFrame.GetChannel()); assert(error == OT_ERROR_NONE); - error = Get().Transmit(mTransmitFrame); - assert(error == OT_ERROR_NONE); - SetState(kStateTransmit); if (mPcapCallback) @@ -296,6 +293,9 @@ void SubMac::BeginTransmit(void) mPcapCallback(&mTransmitFrame, true, mPcapCallbackContext); } + error = Get().Transmit(mTransmitFrame); + assert(error == OT_ERROR_NONE); + exit: return; }