From 1d37e292d4d3c900c57b945b17152ab10dcc6168 Mon Sep 17 00:00:00 2001 From: Stefano Avallone Date: Sat, 1 Jun 2024 15:41:04 +0200 Subject: [PATCH] wifi: Fix check that transmissions are blocked to EMLSR clients ...involved in a TXOP on another link --- src/wifi/model/eht/eht-frame-exchange-manager.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/wifi/model/eht/eht-frame-exchange-manager.cc b/src/wifi/model/eht/eht-frame-exchange-manager.cc index b21d540ad..4e169202f 100644 --- a/src/wifi/model/eht/eht-frame-exchange-manager.cc +++ b/src/wifi/model/eht/eht-frame-exchange-manager.cc @@ -182,11 +182,11 @@ EhtFrameExchangeManager::StartTransmission(Ptr edca, MHz_u allowedWidth) // EMLSR clients involved in a DL or UL TXOP on another link std::set emlsrClients; + auto ehtFem = + StaticCast(m_mac->GetFrameExchangeManager(linkId)); // check if an EMLSR client is the holder of an UL TXOP on the other link - if (auto ehtFem = - StaticCast(m_mac->GetFrameExchangeManager(linkId)); - ehtFem->m_ongoingTxopEnd.IsPending() && ehtFem->m_txopHolder && + if (ehtFem->m_ongoingTxopEnd.IsPending() && ehtFem->m_txopHolder && m_mac->GetWifiRemoteStationManager(linkId)->GetEmlsrEnabled( ehtFem->m_txopHolder.value())) { @@ -194,7 +194,7 @@ EhtFrameExchangeManager::StartTransmission(Ptr edca, MHz_u allowedWidth) } // check if EMLSR clients are involved in a DL TXOP on another link - for (const auto& address : m_protectedStas) + for (const auto& address : ehtFem->m_protectedStas) { if (m_mac->GetWifiRemoteStationManager(linkId)->GetEmlsrEnabled(address)) {