From 50949cbad9d6683f65fdd79e72dbe8643a0dc882 Mon Sep 17 00:00:00 2001 From: Yakun Xu Date: Thu, 23 May 2019 12:28:39 +0800 Subject: [PATCH] [channel-manager] fix interval units (#3857) --- src/core/utils/channel_manager.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/core/utils/channel_manager.cpp b/src/core/utils/channel_manager.cpp index 296e37e0f..ef26ec2f6 100644 --- a/src/core/utils/channel_manager.cpp +++ b/src/core/utils/channel_manager.cpp @@ -428,13 +428,14 @@ otError ChannelManager::SetAutoChannelSelectionInterval(uint32_t aInterval) otError error = OT_ERROR_NONE; uint32_t prevInterval = mAutoSelectInterval; - VerifyOrExit((aInterval != 0) && (aInterval < TimerMilli::MsecToSec(Timer::kMaxDt)), error = OT_ERROR_INVALID_ARGS); + VerifyOrExit((aInterval != 0) && (aInterval <= TimerMilli::MsecToSec(Timer::kMaxDt)), + error = OT_ERROR_INVALID_ARGS); mAutoSelectInterval = aInterval; if (mAutoSelectEnabled && (mState == kStateIdle) && mTimer.IsRunning() && (prevInterval != aInterval)) { - mTimer.StartAt(mTimer.GetFireTime() - prevInterval, aInterval); + mTimer.StartAt(mTimer.GetFireTime() - TimerMilli::SecToMsec(prevInterval), TimerMilli::SecToMsec(aInterval)); } exit: