summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbhishek Singh <absingh@codeaurora.org>2017-08-14 15:57:34 +0530
committersnandini <snandini@codeaurora.org>2017-08-17 01:38:37 -0700
commit1eec5aeca55d6fddf9ba8efddab728bbe90c92d0 (patch)
treed5dc74812131af7c634c133d8b4a976428f0328b
parentef7b4cc35bfbb20d5017246956315c2fed1a1faf (diff)
qcacld-3.0: HT STA is indicated as VHT capable to firmware
When HT STA connect to VHT SAP, the STA is indicated as VHT capable to firmware and thus MCS8 rates are used. The reason is that the condition to set SMPS intolerance was added in between the "if- else if -else" condition to determine ht and VHT capability of sta. This resulted in else condition to execute for peer STA which set VHT and HT capability from the psession and doesn't consider capability of peer sta. Fix this issue by reordering the if condition to set SMPS Intolerance to firmware. Change-Id: I483a5c44bc4beba0d03e1a80028993b30b47b108 CRs-Fixed: 2079727
-rw-r--r--core/mac/src/pe/lim/lim_assoc_utils.c34
1 files changed, 17 insertions, 17 deletions
diff --git a/core/mac/src/pe/lim/lim_assoc_utils.c b/core/mac/src/pe/lim/lim_assoc_utils.c
index 578276cc6f85..5f0826cd856c 100644
--- a/core/mac/src/pe/lim/lim_assoc_utils.c
+++ b/core/mac/src/pe/lim/lim_assoc_utils.c
@@ -2180,7 +2180,7 @@ lim_add_sta(tpAniSirGlobal mac_ctx,
add_sta_params->status = QDF_STATUS_SUCCESS;
add_sta_params->respReqd = 1;
- /* Update HT Capability */
+ /* Update HT/VHT Capability */
if (LIM_IS_AP_ROLE(session_entry) ||
LIM_IS_IBSS_ROLE(session_entry)) {
@@ -2188,6 +2188,22 @@ lim_add_sta(tpAniSirGlobal mac_ctx,
add_sta_params->vhtCapable =
sta_ds->mlmStaContext.vhtCapability;
}
+#ifdef FEATURE_WLAN_TDLS
+ /* SystemRole shouldn't be matter if staType is TDLS peer */
+ else if (STA_ENTRY_TDLS_PEER == sta_ds->staType) {
+ add_sta_params->htCapable = sta_ds->mlmStaContext.htCapability;
+ add_sta_params->vhtCapable =
+ sta_ds->mlmStaContext.vhtCapability;
+ }
+#endif
+ else {
+ add_sta_params->htCapable = session_entry->htCapability;
+ add_sta_params->vhtCapable = session_entry->vhtCapability;
+
+ }
+ pe_debug("StaIdx: %d updateSta: %d htcapable: %d vhtCapable: %d",
+ add_sta_params->staIdx, add_sta_params->updateSta,
+ add_sta_params->htCapable, add_sta_params->vhtCapable);
/*
* 2G-AS platform: SAP associates with HT (11n)clients as 2x1 in 2G and
* 2X2 in 5G
@@ -2210,22 +2226,6 @@ lim_add_sta(tpAniSirGlobal mac_ctx,
}
}
-#ifdef FEATURE_WLAN_TDLS
- /* SystemRole shouldn't be matter if staType is TDLS peer */
- else if (STA_ENTRY_TDLS_PEER == sta_ds->staType) {
- add_sta_params->htCapable = sta_ds->mlmStaContext.htCapability;
- add_sta_params->vhtCapable =
- sta_ds->mlmStaContext.vhtCapability;
- }
-#endif
- else {
- add_sta_params->htCapable = session_entry->htCapability;
- add_sta_params->vhtCapable = session_entry->vhtCapability;
-
- }
- pe_debug("StaIdx: %d updateSta: %d htcapable: %d vhtCapable: %d",
- add_sta_params->staIdx, add_sta_params->updateSta,
- add_sta_params->htCapable, add_sta_params->vhtCapable);
add_sta_params->greenFieldCapable = sta_ds->htGreenfield;
add_sta_params->maxAmpduDensity = sta_ds->htAMpduDensity;