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:42:26 +0530
commit39296dfc14e71b0b4345d562e87b59f2bce74d82 (patch)
tree0c34dda478f4eb3a5aa1ddfdb2b00376876d84f0
parente31cf1c576c1168a9ee5b847498e5dbe7ddc6fdb (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();
}