summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKiran Kumar Lokere <klokere@qca.qualcomm.com>2015-06-26 11:27:23 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2015-07-02 05:43:49 -0700
commit33ee6ffe09cabba219dc2dd453b40738394a20b7 (patch)
tree9a7b39e4d9ba827e443bba204f8a19e37c2136cc
parent8fa647f5c9411af61dea31fa725248640c0f9440 (diff)
qcacld: do not process HT IE change if RoC is in progress
prima to qcacld-2.0 propagation Ignore HT IE change if RoC is in progress because as part of HT IE change we will try to change the channel parameters which use the same callback as RoC. So if we try to change the channel parameters if RoC is in progress we will overwrite the callback causing problems in the upper layers which are expecting a notification. Change-Id: I6bace6dd2bd40728ece94e3efe59f3e7038a4e6a CRs-Fixed: 710027
-rw-r--r--CORE/MAC/src/pe/lim/limUtils.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/CORE/MAC/src/pe/lim/limUtils.c b/CORE/MAC/src/pe/lim/limUtils.c
index ff41c61d7a95..f3838d02e889 100644
--- a/CORE/MAC/src/pe/lim/limUtils.c
+++ b/CORE/MAC/src/pe/lim/limUtils.c
@@ -4604,6 +4604,19 @@ void limUpdateStaRunTimeHTSwitchChnlParams( tpAniSirGlobal pMac,
return;
}
+ /*
+ * Do not try to switch channel if RoC is in progress. RoC code path uses
+ * pMac->lim.gpLimRemainOnChanReq to notify the upper layers that the device
+ * has started listening on the channel requested as part of RoC, if we set
+ * pMac->lim.gpLimRemainOnChanReq to NULL as we do below then the
+ * upper layers will think that the channel change is not successful and the
+ * RoC from the upper layer perspective will never end...
+ */
+ if (pMac->lim.gpLimRemainOnChanReq)
+ {
+ limLog(pMac, LOGE, FL( "RoC is in progress"));
+ return;
+ }
if ( psessionEntry->htSecondaryChannelOffset != ( tANI_U8 ) pHTInfo->secondaryChannelOffset ||
psessionEntry->htRecommendedTxWidthSet != ( tANI_U8 ) pHTInfo->recommendedTxWidthSet )