summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbhishek Singh <absingh@codeaurora.org>2017-02-17 16:35:42 +0530
committerSen, Devendra <dsen@codeaurora.org>2017-03-03 12:35:19 +0530
commitf128eb9a3a7339c1260f3fc979e0b17a8f2dee37 (patch)
tree1da4be81abbe3590a9114dfda4c5080d596ba7d9
parent299335e935a6e2b0c96c8139eff7b3fb2b781c10 (diff)
qcacld-3.0: Fix incorrect channel switch info during CSA
qcacld-2.0 to qcacld-3.0 propagation In the current code, when STA receives CSA IE then host look and operate on extended channel switch element eventhough our own channel-bonding state is not enabled. This causes setting up of secondary subband and state in new channel during CSA eventhough the secondary channel offset is set to zero in CSA beacon. Fix is to set the Secondary Channel Offset if our own channel bonding state is enabled. Change-Id: I82ca9737f49937176801bc4cbbdd3e2fb77d4749 CRs-Fixed: 1080260
-rw-r--r--core/mac/src/pe/lim/lim_process_tdls.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/core/mac/src/pe/lim/lim_process_tdls.c b/core/mac/src/pe/lim/lim_process_tdls.c
index e7907f2aded2..f03bdd74a797 100644
--- a/core/mac/src/pe/lim/lim_process_tdls.c
+++ b/core/mac/src/pe/lim/lim_process_tdls.c
@@ -2633,15 +2633,21 @@ static void lim_tdls_update_hash_node_info(tpAniSirGlobal pMac,
pStaDs->vhtSupportedChannelWidthSet =
WNI_CFG_VHT_CHANNEL_WIDTH_20_40MHZ;
}
- /*Calculate the Secondary Coannel Offset */
- cbMode = lim_select_cb_mode(pStaDs, psessionEntry,
+
+ /*
+ * Calculate the Secondary Coannel Offset if our
+ * own channel bonding state is enabled
+ */
+ if (psessionEntry->htSupportedChannelWidthSet) {
+ cbMode = lim_select_cb_mode(pStaDs, psessionEntry,
psessionEntry->currentOperChannel,
pStaDs->vhtSupportedChannelWidthSet);
- pStaDs->htSecondaryChannelOffset = cbMode;
-
- if (pStaDs->mlmStaContext.vhtCapability) {
- pStaDs->htSecondaryChannelOffset = lim_get_htcb_state(cbMode);
+ if (pStaDs->mlmStaContext.vhtCapability)
+ pStaDs->htSecondaryChannelOffset =
+ lim_get_htcb_state(cbMode);
+ else
+ pStaDs->htSecondaryChannelOffset = cbMode;
}
pSessStaDs = dph_lookup_hash_entry(pMac, psessionEntry->bssId, &aid,
&psessionEntry->dph.dphHashTable);