wlan:HT40 support on 2.4GHz band
Following changes are made as part of this gerrit
- Enabling HT40 on 2.4GHz
- Switching of HT40 to HT20
- Added new feature flag HT40_OBSS_SCAN
- Beacon offload extended to detect the changes in secondary
channel offset in HT operation IE.
Change-Id: I0fdafde198f44c0d51a85e9beaade2b60c6ac174
CRs-Fixed: 608188
diff --git a/CORE/MAC/src/pe/lim/limSendManagementFrames.c b/CORE/MAC/src/pe/lim/limSendManagementFrames.c
index 849158d..5573d39 100644
--- a/CORE/MAC/src/pe/lim/limSendManagementFrames.c
+++ b/CORE/MAC/src/pe/lim/limSendManagementFrames.c
@@ -224,6 +224,7 @@
tANI_U8 sessionId;
tANI_U8 *p2pIe = NULL;
tANI_U32 txFlag = 0;
+ tANI_U32 chanbond24G = 0;
#ifndef GEN4_SCAN
return eSIR_FAILURE;
@@ -311,13 +312,13 @@
}
}
- /* Set channelbonding information as "disabled" when tunned to a 2.4 GHz channel */
- if( nChannelNum <= SIR_11B_CHANNEL_END)
+ /* Get HT40 capability for 2.4GHz band */
+ wlan_cfgGetInt(pMac,WNI_CFG_CHANNEL_BONDING_24G,&chanbond24G);
+ if( (nChannelNum <= SIR_11B_CHANNEL_END) && chanbond24G != TRUE)
{
pr.HTCaps.supportedChannelWidthSet = eHT_CHANNEL_WIDTH_20MHZ;
pr.HTCaps.shortGI40MHz = 0;
}
-
#ifdef WLAN_FEATURE_11AC
if (psessionEntry != NULL ) {
psessionEntry->vhtCapability = IS_DOT11_MODE_VHT(dot11mode);
@@ -636,10 +637,11 @@
PopulateDot11fVHTOperation( pMac, &pFrm->VHTOperation );
// we do not support multi users yet
//PopulateDot11fVHTExtBssLoad( pMac, &frm.VHTExtBssLoad );
- PopulateDot11fExtCap( pMac, &pFrm->ExtCap);
+ PopulateDot11fExtCap( pMac, &pFrm->ExtCap, psessionEntry);
}
#endif
+
if ( psessionEntry->pLimStartBssReq )
{
PopulateDot11fWPA( pMac, &( psessionEntry->pLimStartBssReq->rsnIE ),
@@ -1324,7 +1326,7 @@
limLog( pMac, LOG1, FL("Populate VHT IEs in Assoc Response"));
PopulateDot11fVHTCaps( pMac, &frm.VHTCaps );
PopulateDot11fVHTOperation( pMac, &frm.VHTOperation);
- PopulateDot11fExtCap( pMac, &frm.ExtCap);
+ PopulateDot11fExtCap( pMac, &frm.ExtCap, psessionEntry);
}
#endif
@@ -2153,10 +2155,9 @@
{
limLog( pMac, LOG1, FL("Populate VHT IEs in Assoc Request"));
PopulateDot11fVHTCaps( pMac, &pFrm->VHTCaps );
- PopulateDot11fExtCap( pMac, &pFrm->ExtCap);
}
#endif
-
+ PopulateDot11fExtCap( pMac, &pFrm->ExtCap, psessionEntry);
#if defined WLAN_FEATURE_VOWIFI_11R
if (psessionEntry->pLimJoinReq->is11Rconnection)
@@ -2585,9 +2586,9 @@
{
limLog( pMac, LOG1, FL("Populate VHT IEs in Re-Assoc Request"));
PopulateDot11fVHTCaps( pMac, &frm.VHTCaps );
- PopulateDot11fExtCap( pMac, &frm.ExtCap);
}
#endif
+ PopulateDot11fExtCap( pMac, &frm.ExtCap, psessionEntry);
nStatus = dot11fGetPackedReAssocRequestSize( pMac, &frm, &nPayload );
if ( DOT11F_FAILED( nStatus ) )
@@ -2998,7 +2999,7 @@
{
limLog( pMac, LOG1, FL("Populate VHT IEs in Re-Assoc Request"));
PopulateDot11fVHTCaps( pMac, &frm.VHTCaps );
- PopulateDot11fExtCap( pMac, &frm.ExtCap);
+ PopulateDot11fExtCap( pMac, &frm.ExtCap, psessionEntry);
}
#endif