diff --git a/src/core/thread/mle_router.cpp b/src/core/thread/mle_router.cpp index 7d1efe11b..e17fd582a 100644 --- a/src/core/thread/mle_router.cpp +++ b/src/core/thread/mle_router.cpp @@ -1706,7 +1706,10 @@ otError MleRouter::HandleParentRequest(const Message &aMessage, const Ip6::Messa child->ResetLinkFailures(); child->SetState(Neighbor::kStateParentRequest); child->SetDataRequestPending(false); + } + if (!child->IsStateValidOrRestoring()) + { child->SetLastHeard(TimerMilli::GetNow()); child->SetTimeout(TimerMilli::MsecToSec(kMaxChildIdRequestTimeout)); }