wlan: Update supported Channel Width based on channel bonding ini param.
If channel bonding is disabled ini parameter gChannelBondingMode5GHz,
then in ASSOC-REQ, HOST won't set HT40. But some APs sends ASSOC-RSP
with HT40 enabled, causing incorrect updation of
htSupportedChannelWidthSet.
Update htSupportedChannelWidthSet and vhtSupportedChannelWidthSet
based on ini parameter gChannelBondingMode5GHz.
Change-Id: Ic652c3fab0b15718798c70c6a1f094f7dfb18e04
CRs-Fixed: 675251.
diff --git a/CORE/MAC/src/pe/lim/limProcessAssocRspFrame.c b/CORE/MAC/src/pe/lim/limProcessAssocRspFrame.c
index be06a71..59bcb75 100644
--- a/CORE/MAC/src/pe/lim/limProcessAssocRspFrame.c
+++ b/CORE/MAC/src/pe/lim/limProcessAssocRspFrame.c
@@ -116,9 +116,16 @@
if ( pAssocRsp->HTCaps.present ) {
pStaDs->htGreenfield = ( tANI_U8 ) pAssocRsp->HTCaps.greenField;
- pStaDs->htSupportedChannelWidthSet = ( tANI_U8 ) (pAssocRsp->HTCaps.supportedChannelWidthSet ?
+ if (psessionEntry->htSupportedChannelWidthSet)
+ {
+ pStaDs->htSupportedChannelWidthSet = ( tANI_U8 ) (pAssocRsp->HTCaps.supportedChannelWidthSet ?
pAssocRsp->HTInfo.recommendedTxWidthSet :
pAssocRsp->HTCaps.supportedChannelWidthSet );
+ }
+ else
+ {
+ pStaDs->htSupportedChannelWidthSet = eHT_CHANNEL_WIDTH_20MHZ;
+ }
pStaDs->htLsigTXOPProtection = ( tANI_U8 ) pAssocRsp->HTCaps.lsigTXOPProtection;
pStaDs->htMIMOPSState = (tSirMacHTMIMOPowerSaveState)pAssocRsp->HTCaps.mimoPowerSave;
pStaDs->htMaxAmsduLength = ( tANI_U8 ) pAssocRsp->HTCaps.maximalAMSDUsize;
@@ -143,6 +150,8 @@
if(IS_DOT11_MODE_VHT(psessionEntry->dot11mode))
{
pStaDs->mlmStaContext.vhtCapability = pAssocRsp->VHTCaps.present;
+ if (pAssocRsp->VHTCaps.present && psessionEntry->htSupportedChannelWidthSet)
+ pStaDs->vhtSupportedChannelWidthSet = pAssocRsp->VHTOperation.chanWidth;
}
if (limPopulatePeerRateSet(pMac, &pStaDs->supportedRates,
pAssocRsp->HTCaps.supportedMCSSet,