SME: Pass Operating Channel and Class information to the firmware.
This commit ensures to pass the TDLS peer's operating channel to the
firmware in LinkEstablishRequest.
Change-Id: I97c20b47b6168bace6fa190d6f51df8c864a42f2
CRs-Fixed: 610536
diff --git a/CORE/SME/inc/csrApi.h b/CORE/SME/inc/csrApi.h
index 057d47e..24e0a91 100644
--- a/CORE/SME/inc/csrApi.h
+++ b/CORE/SME/inc/csrApi.h
@@ -237,6 +237,10 @@
tSirVHTCap VHTCap;
tANI_U8 uapsd_queues;
tANI_U8 max_sp;
+ tANI_U8 supported_channels_len;
+ tANI_U8 supported_channels[SIR_MAC_MAX_SUPP_CHANNELS];
+ tANI_U8 supported_oper_classes_len;
+ tANI_U8 supported_oper_classes[SIR_MAC_MAX_SUPP_OPER_CLASSES];
}tCsrStaParams;
typedef struct tagCsrScanRequest
@@ -1344,7 +1348,12 @@
tANI_U8 uapsdQueues;
tANI_U8 maxSp;
tANI_U8 isBufSta;
+ tANI_U8 isOffChannelSupported;
tANI_U8 isResponder;
+ tANI_U8 supportedChannelsLen;
+ tANI_U8 supportedChannels[SIR_MAC_MAX_SUPP_CHANNELS];
+ tANI_U8 supportedOperClassesLen;
+ tANI_U8 supportedOperClasses[SIR_MAC_MAX_SUPP_OPER_CLASSES];
}tCsrTdlsLinkEstablishParams;
typedef struct tagCsrTdlsSendMgmt
diff --git a/CORE/SME/inc/smeInside.h b/CORE/SME/inc/smeInside.h
index 9f657a8..f0cfb2e 100644
--- a/CORE/SME/inc/smeInside.h
+++ b/CORE/SME/inc/smeInside.h
@@ -103,7 +103,12 @@
tANI_U8 uapsdQueues;
tANI_U8 maxSp;
tANI_U8 isBufSta;
+ tANI_U8 isOffChannelSupported;
tANI_U8 isResponder;
+ tANI_U8 supportedChannelsLen;
+ tANI_U8 supportedChannels[SIR_MAC_MAX_SUPP_CHANNELS];
+ tANI_U8 supportedOperClassesLen;
+ tANI_U8 supportedOperClasses[SIR_MAC_MAX_SUPP_OPER_CLASSES];
} tTdlsLinkEstablishCmdInfo;
typedef struct TdlsAddStaInfo
diff --git a/CORE/SME/src/csr/csrTdlsProcess.c b/CORE/SME/src/csr/csrTdlsProcess.c
index 5b70423..3d80d2d 100644
--- a/CORE/SME/src/csr/csrTdlsProcess.c
+++ b/CORE/SME/src/csr/csrTdlsProcess.c
@@ -235,6 +235,23 @@
vos_mem_copy( tdlsLinkEstablishCmdInfo->peerMac,
peerMac, sizeof(tSirMacAddr));
tdlsLinkEstablishCmdInfo->isBufSta = tdlsLinkEstablishParams->isBufSta;
+ tdlsLinkEstablishCmdInfo->isResponder = tdlsLinkEstablishParams->isResponder;
+ tdlsLinkEstablishCmdInfo->maxSp = tdlsLinkEstablishParams->maxSp;
+ tdlsLinkEstablishCmdInfo->uapsdQueues = tdlsLinkEstablishParams->uapsdQueues;
+ tdlsLinkEstablishCmdInfo->isOffChannelSupported =
+ tdlsLinkEstablishParams->isOffChannelSupported;
+
+ vos_mem_copy(tdlsLinkEstablishCmdInfo->supportedChannels,
+ tdlsLinkEstablishParams->supportedChannels,
+ tdlsLinkEstablishParams->supportedChannelsLen);
+ tdlsLinkEstablishCmdInfo->supportedChannelsLen =
+ tdlsLinkEstablishParams->supportedChannelsLen;
+
+ vos_mem_copy(tdlsLinkEstablishCmdInfo->supportedOperClasses,
+ tdlsLinkEstablishParams->supportedOperClasses,
+ tdlsLinkEstablishParams->supportedOperClassesLen);
+ tdlsLinkEstablishCmdInfo->supportedOperClassesLen =
+ tdlsLinkEstablishParams->supportedOperClassesLen;
tdlsLinkEstablishCmdInfo->isResponder= tdlsLinkEstablishParams->isResponder;
tdlsLinkEstablishCmdInfo->maxSp= tdlsLinkEstablishParams->maxSp;
tdlsLinkEstablishCmdInfo->uapsdQueues= tdlsLinkEstablishParams->uapsdQueues;
@@ -847,6 +864,16 @@
tdlsLinkEstablishCmdInfo->peerMac, sizeof(tSirMacAddr));
vos_mem_copy(tdlsLinkEstablishReq->bssid, pSession->pConnectBssDesc->bssId,
sizeof (tSirMacAddr));
+ vos_mem_copy(tdlsLinkEstablishReq->supportedChannels,
+ tdlsLinkEstablishCmdInfo->supportedChannels,
+ tdlsLinkEstablishCmdInfo->supportedChannelsLen);
+ tdlsLinkEstablishReq->supportedChannelsLen =
+ tdlsLinkEstablishCmdInfo->supportedChannelsLen;
+ vos_mem_copy(tdlsLinkEstablishReq->supportedOperClasses,
+ tdlsLinkEstablishCmdInfo->supportedOperClasses,
+ tdlsLinkEstablishCmdInfo->supportedOperClassesLen);
+ tdlsLinkEstablishReq->supportedOperClassesLen =
+ tdlsLinkEstablishCmdInfo->supportedOperClassesLen;
tdlsLinkEstablishReq->isBufSta = tdlsLinkEstablishCmdInfo->isBufSta;
tdlsLinkEstablishReq->isResponder= tdlsLinkEstablishCmdInfo->isResponder;
tdlsLinkEstablishReq->uapsdQueues= tdlsLinkEstablishCmdInfo->uapsdQueues;