Fix the issue with probe req data rate on 5G channels.
Pass the interface persona to firmware to identify the device mode
and program the data rates accordingly.
Change-Id: Id2607fc806aeec7e91d85ee3c174fb77340680d8
CRs-Fixed: 497478
diff --git a/CORE/WDI/CP/src/wlan_qct_wdi.c b/CORE/WDI/CP/src/wlan_qct_wdi.c
index f8c2fb5..833f975 100644
--- a/CORE/WDI/CP/src/wlan_qct_wdi.c
+++ b/CORE/WDI/CP/src/wlan_qct_wdi.c
@@ -10152,7 +10152,7 @@
wpt_uint8* pSendBuffer = NULL;
wpt_uint16 usDataOffset = 0;
wpt_uint16 usSendSize = 0;
- tAddStaSelfParams halAddSTASelfParams;
+ tAddStaSelfParams_V1 halAddSTASelfParams;
/*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/*-------------------------------------------------------------------------
@@ -10177,9 +10177,9 @@
-----------------------------------------------------------------------*/
if (( WDI_STATUS_SUCCESS != WDI_GetMessageBuffer( pWDICtx,
WDI_ADD_STA_SELF_REQ,
- sizeof(tAddStaSelfParams),
+ sizeof(tAddStaSelfParams_V1),
&pSendBuffer, &usDataOffset, &usSendSize))||
- ( usSendSize < (usDataOffset + sizeof(tAddStaSelfParams) )))
+ ( usSendSize < (usDataOffset + sizeof(tAddStaSelfParams_V1) )))
{
WPAL_TRACE( eWLAN_MODULE_DAL_CTRL, eWLAN_PAL_TRACE_LEVEL_WARN,
"Unable to get send buffer in ADD STA SELF REQ %x %x %x",
@@ -10193,10 +10193,21 @@
sizeof(pWDICtx->wdiCacheAddSTASelfReq));
wpalMemoryCopy(halAddSTASelfParams.selfMacAddr,
- pwdiAddSTASelfReqParams->wdiAddSTASelfInfo.selfMacAddr, 6) ;
-
+ pwdiAddSTASelfReqParams->wdiAddSTASelfInfo.selfMacAddr, 6);
+ halAddSTASelfParams.iface_persona = HAL_IFACE_UNKNOWN;
+ if (pwdiAddSTASelfReqParams->wdiAddSTASelfInfo.currDeviceMode == VOS_STA_MODE)
+ {
+ halAddSTASelfParams.iface_persona = HAL_IFACE_STA_MODE;
+ }
+ else if ((pwdiAddSTASelfReqParams->wdiAddSTASelfInfo.currDeviceMode ==
+ VOS_P2P_CLIENT_MODE) ||
+ (pwdiAddSTASelfReqParams->wdiAddSTASelfInfo.currDeviceMode ==
+ VOS_P2P_DEVICE))
+ {
+ halAddSTASelfParams.iface_persona = HAL_IFACE_P2P_MODE;
+ }
wpalMemoryCopy( pSendBuffer+usDataOffset, &halAddSTASelfParams,
- sizeof(tAddStaSelfParams));
+ sizeof(tAddStaSelfParams_V1));
pWDICtx->wdiReqStatusCB = pwdiAddSTASelfReqParams->wdiReqStatusCB;
pWDICtx->pReqStatusUserData = pwdiAddSTASelfReqParams->pUserData;