wlan: Validate bss with the correct bss address
Currently when vendor command
QCA_NL80211_VENDOR_SUBCMD_OFFLOADED_PACKETS is issued
bss session validation is wrongly done against self mac
address which result in invalid bss and drops the
ADD_PERIODIC_TX_PTRN_IND command.
To address above issue validate bss session against the
correct bss address.
Change-Id: I6d2eaae085b5d9ae53c076ddcbefdb32aa1a4ce0
CRs-Fixed: 2566865
diff --git a/CORE/WDI/CP/src/wlan_qct_wdi.c b/CORE/WDI/CP/src/wlan_qct_wdi.c
index ac424e7..fac44a7 100644
--- a/CORE/WDI/CP/src/wlan_qct_wdi.c
+++ b/CORE/WDI/CP/src/wlan_qct_wdi.c
@@ -12807,6 +12807,7 @@
wpt_uint8 selfStaIdx = 0;
wpt_uint8 ucCurrentBSSSesIdx;
WDI_BSSSessionType* pBSSSes = NULL;
+ wpt_macAddr dst_addr;
/*-------------------------------------------------------------------------
Sanity check
@@ -12850,9 +12851,12 @@
return WDI_STATUS_E_FAILURE;
}
+ vos_mem_copy(dst_addr,
+ &pAddPeriodicTxPtrnParams->wdiAddPeriodicTxPtrnParams.ucPattern[0],
+ VOS_MAC_ADDR_SIZE);
+
ucCurrentBSSSesIdx = WDI_FindAssocSession( pWDICtx,
- pAddPeriodicTxPtrnParams->
- wdiAddPeriodicTxPtrnParams.macAddr,
+ dst_addr,
&pBSSSes);
if ( NULL == pBSSSes )
{
@@ -12860,8 +12864,7 @@
"%s: Association sequence for this BSS does not exist. macBSSID "
MAC_ADDRESS_STR,
__func__,
- MAC_ADDR_ARRAY(pAddPeriodicTxPtrnParams->
- wdiAddPeriodicTxPtrnParams.macAddr));
+ MAC_ADDR_ARRAY(dst_addr));
wpalMemoryFree(pSendBuffer);
return WDI_STATUS_E_NOT_ALLOWED;
}