summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbhishek Singh <absingh@qti.qualcomm.com>2016-05-27 14:41:08 +0530
committerAnjaneedevi Kapparapu <akappa@codeaurora.org>2016-06-09 14:57:37 +0530
commitd194f6acb7b93604e1881eeabb943a97024372df (patch)
tree0c34dda478f4eb3a5aa1ddfdb2b00376876d84f0
parentae1bec56162a9c59d3043ea2f2b020e3c0cf3da1 (diff)
qcacld-2.0: Set chainmask to 2x2 once TDLS is connected
If gEnableDynamicSTAChainMask is set and DUT is connected to 1x1 AP, TDLS uses 1x1 even if peer is capable of 2x2. To fix this set chainmask to 2x2 once TDLS peer is connected, and fallback to APs capability once all TDLS peer are disconnected. Change-Id: Ia003d02b142dcd51582c20359ee44a181620e4e3 CRs-Fixed: 1021796
-rw-r--r--CORE/HDD/src/wlan_hdd_tdls.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/CORE/HDD/src/wlan_hdd_tdls.c b/CORE/HDD/src/wlan_hdd_tdls.c
index 4c6acb27ec17..403c44eccbb7 100644
--- a/CORE/HDD/src/wlan_hdd_tdls.c
+++ b/CORE/HDD/src/wlan_hdd_tdls.c
@@ -2255,6 +2255,11 @@ void wlan_hdd_tdls_increment_peer_count(hdd_adapter_t *pAdapter)
VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO, "%s: %d",
__func__, pHddCtx->connected_peer_count);
+ if (pHddCtx->cfg_ini->enable_dynamic_sta_chainmask &&
+ (HDD_ANTENNA_MODE_2X2 != pHddCtx->current_antenna_mode))
+ hdd_decide_dynamic_chain_mask(pHddCtx,
+ HDD_ANTENNA_MODE_2X2);
+
mutex_unlock(&pHddCtx->tdls_lock);
EXIT();
}
@@ -2277,6 +2282,10 @@ void wlan_hdd_tdls_decrement_peer_count(hdd_adapter_t *pAdapter)
VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO, "%s: %d",
__func__, pHddCtx->connected_peer_count);
+ if (!pHddCtx->connected_peer_count &&
+ pHddCtx->cfg_ini->enable_dynamic_sta_chainmask)
+ hdd_decide_dynamic_chain_mask(pHddCtx,
+ HDD_ANTENNA_MODE_INVALID);
mutex_unlock(&pHddCtx->tdls_lock);
EXIT();
}