mirror of
https://github.com/espressif/openthread.git
synced 2026-11-02 04:23:06 +00:00
MeshForwarder: Check if child is marked in message child mask before decrease of mQueuedIndirectMessageCnt (#1455)
This commit is contained in:
committed by
Jonathan Hui
parent
c7dc5f58b9
commit
0d4da3a0f9
@@ -1588,6 +1588,7 @@ void MeshForwarder::HandleSentFrame(Mac::Frame &aFrame, ThreadError aError)
|
||||
Mac::Address macDest;
|
||||
Child *child;
|
||||
Neighbor *neighbor;
|
||||
uint8_t childIndex;
|
||||
|
||||
mSendBusy = false;
|
||||
|
||||
@@ -1696,10 +1697,12 @@ void MeshForwarder::HandleSentFrame(Mac::Frame &aFrame, ThreadError aError)
|
||||
child->mIndirectSendInfo.mMessage = NULL;
|
||||
}
|
||||
|
||||
mSendMessage->ClearChildMask(mNetif.GetMle().GetChildIndex(*child));
|
||||
childIndex = mNetif.GetMle().GetChildIndex(*child);
|
||||
|
||||
if ((child->mMode & Mle::ModeTlv::kModeRxOnWhenIdle) == 0)
|
||||
if (mSendMessage->GetChildMask(childIndex))
|
||||
{
|
||||
mSendMessage->ClearChildMask(childIndex);
|
||||
|
||||
child->mQueuedIndirectMessageCnt--;
|
||||
otLogDebgMac(GetInstance(), "Sent to child (0x%x), still queued message (%d)",
|
||||
child->mValid.mRloc16, child->mQueuedIndirectMessageCnt);
|
||||
|
||||
Reference in New Issue
Block a user