prima: RTT3: Add selfsta address in rtt3 request
Self sta address is required for firmware to identify actual
interface for STA. Add changes accordingly in RTT3 request.
Change-Id: If85823f9198a742f03b1cff87c1c106b97d03a00
CRs-Fixed: 960462
diff --git a/CORE/HDD/src/wlan_hdd_oemdata.c b/CORE/HDD/src/wlan_hdd_oemdata.c
index 8d2a8bd..93da9dc 100644
--- a/CORE/HDD/src/wlan_hdd_oemdata.c
+++ b/CORE/HDD/src/wlan_hdd_oemdata.c
@@ -777,6 +777,16 @@
void oem_process_data_req_msg(int oemDataLen, char *oemData)
{
tOemDataReqNewConfig oemDataReqNewConfig;
+ hdd_adapter_t *pAdapter = NULL;
+
+ /* for now, STA interface only */
+ pAdapter = hdd_get_adapter(pHddCtx, WLAN_HDD_INFRA_STATION);
+ if (!pAdapter)
+ {
+ VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
+ "%s: No adapter for STA mode", __func__);
+ return;
+ }
if (!oemData)
{
@@ -786,10 +796,13 @@
}
vos_mem_zero(&oemDataReqNewConfig, sizeof(tOemDataReqNewConfig));
- vos_mem_copy(&oemDataReqNewConfig, oemData, oemDataLen);
+ vos_mem_copy(&oemDataReqNewConfig.selfMacAddr,
+ pAdapter->macAddressCurrent.bytes, sizeof(tSirMacAddr));
+ vos_mem_copy(&oemDataReqNewConfig.oemDataReqNew, oemData, oemDataLen);
VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO,
- "%s: calling sme_OemDataReq", __func__);
+ "selfMacAddr: " MAC_ADDRESS_STR" ",
+ MAC_ADDR_ARRAY(oemDataReqNewConfig.selfMacAddr));
sme_OemDataReqNew(pHddCtx->hHal,
&oemDataReqNewConfig);
diff --git a/CORE/SME/inc/oemDataApi.h b/CORE/SME/inc/oemDataApi.h
index 184deb3..25d3b1a 100644
--- a/CORE/SME/inc/oemDataApi.h
+++ b/CORE/SME/inc/oemDataApi.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012-2013 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
*
@@ -148,6 +148,8 @@
/* Structure for defining req sent to the PE */
typedef struct tagOemDataReqNew
{
+ tSirMacAddr selfMacAddr;
+ tANI_U8 reserved[2];
tANI_U8 oemDataReqNew[NEW_OEM_DATA_REQ_SIZE];
} tOemDataReqNew, tOemDataReqNewConfig;
diff --git a/CORE/WDI/CP/inc/wlan_qct_wdi.h b/CORE/WDI/CP/inc/wlan_qct_wdi.h
index c8863f8..a49fa09 100644
--- a/CORE/WDI/CP/inc/wlan_qct_wdi.h
+++ b/CORE/WDI/CP/inc/wlan_qct_wdi.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012-2015 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
*
@@ -4725,6 +4725,8 @@
/* Structure for defining req sent to the PE */
typedef struct
{
+ wpt_macAddr selfMacAddr;
+ wpt_uint8 reserved[2];
wpt_uint8 oemDataReqNew[NEW_OEM_DATA_REQ_SIZE];
} WDI_OemDataReqNew, WDI_OemDataReqNewConfig;
diff --git a/CORE/WDI/CP/src/wlan_qct_wdi.c b/CORE/WDI/CP/src/wlan_qct_wdi.c
index 2fdc31d..9db551b 100644
--- a/CORE/WDI/CP/src/wlan_qct_wdi.c
+++ b/CORE/WDI/CP/src/wlan_qct_wdi.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012-2015 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
*
@@ -36589,10 +36589,10 @@
if (( WDI_STATUS_SUCCESS != WDI_GetMessageBuffer(
pWDICtx,
WDI_START_OEM_DATA_REQ_IND_NEW,
- sizeof(tStartOemDataReqParamsNew),
+ sizeof(*pHalStartOemDataReqParamsNew),
&pSendBuffer, &usDataOffset,
&usSendSize))||
- ( usSendSize < (usDataOffset + sizeof(tStartOemDataReqParamsNew) )))
+ ( usSendSize < (usDataOffset + sizeof(*pHalStartOemDataReqParamsNew) )))
{
WPAL_TRACE( eWLAN_MODULE_DAL_CTRL, eWLAN_PAL_TRACE_LEVEL_WARN,
"Unable to get send buffer in %s %p %p", __func__,
@@ -36600,11 +36600,17 @@
WDI_ASSERT(0);
return WDI_STATUS_E_FAILURE;
}
+
pHalStartOemDataReqParamsNew =
- (tpStartOemDataReqParamsNew) (pSendBuffer+usDataOffset);
+ (tpStartOemDataReqParamsNew) (pSendBuffer + usDataOffset);
- wpalMemoryCopy(pHalStartOemDataReqParamsNew, wdiOemDataReqNewConfig, NEW_OEM_DATA_REQ_SIZE);
+ wpalMemoryCopy(pHalStartOemDataReqParamsNew,
+ wdiOemDataReqNewConfig,
+ sizeof(*pHalStartOemDataReqParamsNew));
+ VOS_TRACE(VOS_MODULE_ID_WDI, VOS_TRACE_LEVEL_INFO,
+ "%s: selfMacAddr: " MAC_ADDRESS_STR" ", __func__,
+ MAC_ADDR_ARRAY(pHalStartOemDataReqParamsNew->selfMacAddr));
pWDICtx->pReqStatusUserData = NULL;
pWDICtx->pfncRspCB = NULL;