From bb0fa8a7abd14cbfd1c3a42fcc97e19e0859b5da Mon Sep 17 00:00:00 2001 From: Srinivas Girigowda Date: Tue, 4 Mar 2014 12:20:21 -0800 Subject: 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 --- CORE/MAC/src/pe/lim/limFT.c | 9 +++++---- 1 file 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; -- cgit v1.2.3