diff --git a/src/core/thread/mle.cpp b/src/core/thread/mle.cpp index b26eda8a0..95abaf6c1 100644 --- a/src/core/thread/mle.cpp +++ b/src/core/thread/mle.cpp @@ -1751,15 +1751,6 @@ exit: FreeMessageOnError(message, error); } -void Mle::RequestShorterChildIdRequest(void) -{ - if (mAttachState == kAttachStateChildIdRequest) - { - mAddressRegistrationMode = kAppendMeshLocalOnly; - IgnoreError(SendChildIdRequest()); - } -} - void Mle::HandleChildIdRequestTxDone(Message &aMessage) { if (aMessage.GetTxSuccess() && !IsRxOnWhenIdle()) @@ -1768,7 +1759,7 @@ void Mle::HandleChildIdRequestTxDone(Message &aMessage) Get().SetRxOnWhenIdle(false); } - if (aMessage.IsLinkSecurityEnabled()) + if (aMessage.IsLinkSecurityEnabled() && (mAttachState == kAttachStateChildIdRequest)) { // If the Child ID Request requires fragmentation and therefore // link layer security, the frame transmission will be aborted. @@ -1777,7 +1768,9 @@ void Mle::HandleChildIdRequestTxDone(Message &aMessage) // address in the Address Registration TLV). LogInfo("Requesting shorter `Child ID Request`"); - RequestShorterChildIdRequest(); + + mAddressRegistrationMode = kAppendMeshLocalOnly; + IgnoreError(SendChildIdRequest()); } } diff --git a/src/core/thread/mle.hpp b/src/core/thread/mle.hpp index 37c4cbc54..3080ab030 100644 --- a/src/core/thread/mle.hpp +++ b/src/core/thread/mle.hpp @@ -641,15 +641,6 @@ public: */ void HandleChildIdRequestTxDone(Message &aMessage); - /** - * Requests MLE layer to prepare and send a shorter version of Child ID Request message by only - * including the mesh-local IPv6 address in the Address Registration TLV. - * - * Should be called when a previous MLE Child ID Request message would require fragmentation at 6LoWPAN - * layer. - */ - void RequestShorterChildIdRequest(void); - /** * Schedules a Child Update Request. */