From b401974d2815b778097b4ec213b0cfa26b453243 Mon Sep 17 00:00:00 2001 From: Matias Richart Date: Tue, 5 Jun 2018 22:19:08 +0200 Subject: [PATCH] wifi: (fixes #2925) Correct reported number of MPDUs when a block ack timeout event occurs --- RELEASE_NOTES | 1 + src/wifi/model/mac-low.cc | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/RELEASE_NOTES b/RELEASE_NOTES index 8dbf124d2..2cbf61613 100644 --- a/RELEASE_NOTES +++ b/RELEASE_NOTES @@ -40,6 +40,7 @@ Bugs fixed - Bug 2801 - FdNetDevice device MTU is not set correctly - Bug 2819 - FqCoDel handling of non-IP packets - Bug 2920 - wifi: Default MaxSlrc and fragmentation threshold values differ from standard +- Bug 2925 - wifi: MinstrelHt provides strange results at low SNR with A-MPDU enabled Known issues ------------ diff --git a/src/wifi/model/mac-low.cc b/src/wifi/model/mac-low.cc index 2adc04a7e..370459303 100644 --- a/src/wifi/model/mac-low.cc +++ b/src/wifi/model/mac-low.cc @@ -1541,8 +1541,10 @@ MacLow::BlockAckTimeout (void) m_currentTxop = 0; m_ampdu = false; uint8_t tid = GetTid (m_currentPacket, m_currentHdr); + AmpduTag ampdu; + m_currentPacket->RemovePacketTag (ampdu); + txop->MissedBlockAck (ampdu.GetRemainingNbOfMpdus() + 1); FlushAggregateQueue (tid); - txop->MissedBlockAck (static_cast (m_aggregateQueue[tid]->GetNPackets())); } void