diff --git a/src/core/mac/data_poll_sender.cpp b/src/core/mac/data_poll_sender.cpp index 84486ffd2..acc968c5c 100644 --- a/src/core/mac/data_poll_sender.cpp +++ b/src/core/mac/data_poll_sender.cpp @@ -542,8 +542,10 @@ uint32_t DataPollSender::CalculatePollPeriod(void) const uint32_t DataPollSender::GetDefaultPollPeriod(void) const { - uint32_t period = Time::SecToMsec(Get().GetTimeout()); uint32_t pollAhead = static_cast(kRetxPollPeriod) * kMaxPollRetxAttempts; + uint32_t period; + + period = Time::SecToMsec(Min(Get().GetTimeout(), Time::MsecToSec(TimerMilli::kMaxDelay))); #if OPENTHREAD_CONFIG_MAC_CSL_RECEIVER_ENABLE && OPENTHREAD_CONFIG_MAC_CSL_AUTO_SYNC_ENABLE if (Get().IsCslEnabled())