diff --git a/src/core/mac/sub_mac.cpp b/src/core/mac/sub_mac.cpp index a09a5378b..c345dc3cc 100644 --- a/src/core/mac/sub_mac.cpp +++ b/src/core/mac/sub_mac.cpp @@ -1198,7 +1198,8 @@ void SubMac::GetCslWindowEdges(uint32_t &aAhead, uint32_t &aAfter) elapsed = curTime - mCslLastSync.GetValue(); - semiWindow = elapsed * (Get().GetCslAccuracy() + mCslParentAccuracy) / 1000000; + semiWindow = static_cast(static_cast(elapsed) * + (Get().GetCslAccuracy() + mCslParentAccuracy) / 1000000); semiWindow += mCslParentUncert * kUsPerUncertUnit; aAhead = (semiWindow + kCslReceiveTimeAhead > semiPeriod) ? semiPeriod : semiWindow + kCslReceiveTimeAhead;