diff --git a/src/core/mac/mac.cpp b/src/core/mac/mac.cpp index 4819f46dc..50073ebc9 100644 --- a/src/core/mac/mac.cpp +++ b/src/core/mac/mac.cpp @@ -951,7 +951,6 @@ void Mac::ProcessTransmitSecurity(TxFrame &aFrame) default: OT_ASSERT(false); - OT_UNREACHABLE_CODE(break); } #if OPENTHREAD_CONFIG_TIME_SYNC_ENABLE @@ -1062,7 +1061,6 @@ void Mac::BeginTransmit(void) default: OT_ASSERT(false); - OT_UNREACHABLE_CODE(break); } #if OPENTHREAD_CONFIG_TIME_SYNC_ENABLE @@ -1402,7 +1400,7 @@ void Mac::HandleTransmitDone(TxFrame &aFrame, RxFrame *aAckFrame, Error aError) aError = mTxError; } -#endif +#endif // OPENTHREAD_CONFIG_MULTI_RADIO // Determine next action based on current operation. @@ -1494,14 +1492,14 @@ void Mac::HandleTransmitDone(TxFrame &aFrame, RxFrame *aAckFrame, Error aError) Get().HandleSentFrame(aFrame, aError); PerformNextOperation(); break; -#endif +#endif // OPENTHREAD_FTD default: OT_ASSERT(false); - OT_UNREACHABLE_CODE(ExitNow()); // Added to suppress "unused label exit" warning (in TREL radio only). - OT_UNREACHABLE_CODE(break); } + ExitNow(); // Added to suppress "unused label exit" warning (in TREL radio only). + exit: return; } @@ -1548,7 +1546,6 @@ void Mac::HandleTimer(void) default: OT_ASSERT(false); - OT_UNREACHABLE_CODE(break); } } @@ -1644,7 +1641,6 @@ Error Mac::ProcessReceiveSecurity(RxFrame &aFrame, const Address &aSrcAddr, Neig default: ExitNow(); - OT_UNREACHABLE_CODE(break); } SuccessOrExit(aFrame.ProcessReceiveAesCcm(*extAddress, *macKey)); diff --git a/src/core/mac/mac.hpp b/src/core/mac/mac.hpp index b345b8234..1276fb096 100644 --- a/src/core/mac/mac.hpp +++ b/src/core/mac/mac.hpp @@ -936,7 +936,7 @@ private: #if OPENTHREAD_CONFIG_MAC_FILTER_ENABLE Filter mFilter; -#endif // OPENTHREAD_CONFIG_MAC_FILTER_ENABLE +#endif KeyMaterial mMode2KeyMaterial; }; diff --git a/src/core/mac/sub_mac.cpp b/src/core/mac/sub_mac.cpp index aacef704b..0b8fbe71d 100644 --- a/src/core/mac/sub_mac.cpp +++ b/src/core/mac/sub_mac.cpp @@ -318,7 +318,7 @@ void SubMac::HandleReceiveDone(RxFrame *aFrame, Error aError) static_cast(aFrame->mInfo.mRxInfo.mTimestamp) - mCslSampleTime.GetValue()); #endif } -#endif +#endif // OPENTHREAD_CONFIG_MAC_CSL_RECEIVER_ENABLE #if OPENTHREAD_CONFIG_MAC_FILTER_ENABLE if (!mRadioFilterEnabled) @@ -413,7 +413,7 @@ exit: void SubMac::StartCsmaBackoff(void) { uint32_t backoff; - uint32_t backoffExponent = kMinBE + mTransmitRetries + mCsmaBackoffs; + uint32_t backoffExponent = kCsmaMinBe + mTransmitRetries + mCsmaBackoffs; #if !OPENTHREAD_MTD && OPENTHREAD_CONFIG_MAC_CSL_TRANSMITTER_ENABLE if (mTransmitFrame.mInfo.mTxInfo.mTxDelay != 0) @@ -446,9 +446,9 @@ void SubMac::StartCsmaBackoff(void) VerifyOrExit(ShouldHandleCsmaBackOff(), BeginTransmit()); - if (backoffExponent > kMaxBE) + if (backoffExponent > kCsmaMaxBe) { - backoffExponent = kMaxBE; + backoffExponent = kCsmaMaxBe; } backoff = Random::NonCrypto::GetUint32InRange(0, static_cast(1UL << backoffExponent)); @@ -477,8 +477,6 @@ void SubMac::BeginTransmit(void) { Error error; - OT_UNUSED_VARIABLE(error); - #if !OPENTHREAD_MTD && OPENTHREAD_CONFIG_MAC_CSL_TRANSMITTER_ENABLE VerifyOrExit(mState == kStateCsmaBackoff || mState == kStateCslTransmit); #else @@ -498,12 +496,14 @@ void SubMac::BeginTransmit(void) } error = Get().Transmit(mTransmitFrame); + if (error == kErrorInvalidState && mTransmitFrame.mInfo.mTxInfo.mTxDelay > 0) { // Platform `transmit_at` fails and we send the frame directly. mTransmitFrame.mInfo.mTxInfo.mTxDelay = 0; mTransmitFrame.mInfo.mTxInfo.mTxDelayBaseTime = 0; - error = Get().Transmit(mTransmitFrame); + + error = Get().Transmit(mTransmitFrame); } SuccessOrAssert(error); @@ -1128,7 +1128,7 @@ void SubMac::HandleCslTimer(void) } } -void SubMac::GetCslWindowEdges(uint32_t &ahead, uint32_t &after) +void SubMac::GetCslWindowEdges(uint32_t &aAhead, uint32_t &aAfter) { uint32_t semiPeriod = mCslPeriod * kUsPerTenSymbols / 2; uint32_t curTime = static_cast(otPlatRadioGetNow(&GetInstance())); @@ -1140,8 +1140,8 @@ void SubMac::GetCslWindowEdges(uint32_t &ahead, uint32_t &after) semiWindow = elapsed * (Get().GetCslAccuracy() + mCslParentAccuracy) / 1000000; semiWindow += mCslParentUncert * kUsPerUncertUnit; - ahead = (semiWindow + kCslReceiveTimeAhead > semiPeriod) ? semiPeriod : semiWindow + kCslReceiveTimeAhead; - after = (semiWindow + kMinCslWindow > semiPeriod) ? semiPeriod : semiWindow + kMinCslWindow; + aAhead = (semiWindow + kCslReceiveTimeAhead > semiPeriod) ? semiPeriod : semiWindow + kCslReceiveTimeAhead; + aAfter = (semiWindow + kMinCslWindow > semiPeriod) ? semiPeriod : semiWindow + kMinCslWindow; } #endif // OPENTHREAD_CONFIG_MAC_CSL_RECEIVER_ENABLE diff --git a/src/core/mac/sub_mac.hpp b/src/core/mac/sub_mac.hpp index e761b8fb0..7155fa13c 100644 --- a/src/core/mac/sub_mac.hpp +++ b/src/core/mac/sub_mac.hpp @@ -575,11 +575,11 @@ private: #if OPENTHREAD_CONFIG_MAC_CSL_RECEIVER_ENABLE static void HandleCslTimer(Timer &aTimer); void HandleCslTimer(void); - void GetCslWindowEdges(uint32_t &ahead, uint32_t &after); + void GetCslWindowEdges(uint32_t &aAhead, uint32_t &aAfter); #endif - static constexpr uint8_t kMinBE = 3; // macMinBE (IEEE 802.15.4-2006). - static constexpr uint8_t kMaxBE = 5; // macMaxBE (IEEE 802.15.4-2006). + static constexpr uint8_t kCsmaMinBe = 3; // macMinBE (IEEE 802.15.4-2006). + static constexpr uint8_t kCsmaMaxBe = 5; // macMaxBE (IEEE 802.15.4-2006). static constexpr uint32_t kUnitBackoffPeriod = 20; // Number of symbols (IEEE 802.15.4-2006). static constexpr uint32_t kAckTimeout = 16; // Timeout for waiting on an ACK (in msec). static constexpr uint32_t kCcaSampleInterval = 128; // CCA sample interval, 128 usec.