summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSrinivas Girigowda <sgirigow@qca.qualcomm.com>2014-03-04 12:20:21 -0800
committerAkash Patel <c_akashp@qca.qualcomm.com>2014-03-06 18:59:43 -0800
commitbb0fa8a7abd14cbfd1c3a42fcc97e19e0859b5da (patch)
tree493f63d551c5bab0730b639fab6d04b6255f8905
parent0d4bb6b1c8e16d0b053cbb0a3cb573d7cdfdebeb (diff)
qcacld: Fix for 5G preauth failure due to unexpected channel switch
The root cause of the problem is during the first roam FT session creation htSupportedChannelWidthSet is set based on cb enabled mode and AP's HT capability for supported channel width. The AP shall advertize it's capability for supported channel width set but at that instance it may not be supported. This causes the driver to think that HT capabilities have changed after roaming to new AP and triggers a channel switch. Fix is to set the htSupportedChannelWidthSet based on the cb enabled mode and new AP's recommended Tx Width set from the HT Info IE Change-Id: I4f7a7d22e7df30108031209554e5c3ba8367e593 CRs-Fixed: 625397
-rw-r--r--CORE/MAC/src/pe/lim/limFT.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/CORE/MAC/src/pe/lim/limFT.c b/CORE/MAC/src/pe/lim/limFT.c
index a6a352f50a0d..c3e93ba48fe0 100644
--- a/CORE/MAC/src/pe/lim/limFT.c
+++ b/CORE/MAC/src/pe/lim/limFT.c
@@ -680,7 +680,7 @@ tpPESession limFillFTSession(tpAniSirGlobal pMac,
tPowerdBm regMax;
tSchBeaconStruct *pBeaconStruct;
tANI_U32 selfDot11Mode;
- ePhyChanBondState cbMode;
+ ePhyChanBondState cbEnabledMode;
pBeaconStruct = vos_mem_malloc(sizeof(tSchBeaconStruct));
if (NULL == pBeaconStruct)
@@ -815,14 +815,15 @@ tpPESession limFillFTSession(tpAniSirGlobal pMac,
if (pftSessionEntry->limRFBand == SIR_BAND_2_4_GHZ)
{
- cbMode = pMac->roam.configParam.channelBondingMode24GHz;
+ cbEnabledMode = pMac->roam.configParam.channelBondingMode24GHz;
}
else
{
- cbMode = pMac->roam.configParam.channelBondingMode5GHz;
+ cbEnabledMode = pMac->roam.configParam.channelBondingMode5GHz;
}
pftSessionEntry->htSupportedChannelWidthSet =
- cbMode && pBeaconStruct->HTCaps.supportedChannelWidthSet;
+ (pBeaconStruct->HTInfo.present)?
+ (cbEnabledMode && pBeaconStruct->HTInfo.recommendedTxWidthSet):0;
pftSessionEntry->htRecommendedTxWidthSet =
pftSessionEntry->htSupportedChannelWidthSet;