diff --git a/src/core/thread/mle_router.cpp b/src/core/thread/mle_router.cpp index e3087ea2b..3abdba9a4 100644 --- a/src/core/thread/mle_router.cpp +++ b/src/core/thread/mle_router.cpp @@ -3075,10 +3075,16 @@ otError MleRouter::SendDataResponse(const Ip6::Address &aDestination, const uint uint16_t aDelay) { otError error = OT_ERROR_NONE; - Message *message; + Message *message = NULL; Neighbor *neighbor; bool stableOnly; + if (mRetrieveNewNetworkData) + { + otLogInfoMle(GetInstance(), "Suppressing Data Response - waiting for new network data"); + ExitNow(); + } + VerifyOrExit((message = NewMleMessage()) != NULL, error = OT_ERROR_NO_BUFS); SuccessOrExit(error = AppendHeader(*message, Header::kCommandDataResponse)); SuccessOrExit(error = AppendSourceAddress(*message));