summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAshish Kumar Dhanotiya <adhanoti@codeaurora.org>2017-02-16 14:56:03 +0530
committerqcabuildsw <qcabuildsw@localhost>2017-03-01 22:03:36 -0800
commit75736ecb4c915a52c247b911a8adc4e713cf534c (patch)
tree12f62e4219d605184960107f518a38b61bbf1588
parent403adbaa05c271f75c67b03f0af68aeccc4bd0a2 (diff)
qcacld-3.0: Discard TDLS mgmt frames if violates ACM rules
qcacld-2.0 to qcacld-3.0 propagation As per the 80211 spec, except for setup req and resp frames all other TDLS management frames shall be transmitted with AC VI. But this may cause packet check failure for WMM certification-STAUT -5.2.31 when Admission control is enable for VI. To overcome this issue discard discovery request and setup cfm frame when ACM is set for AC VI. Change-Id: I13da566e9de5e9a366c1efc41c0af67320305570 CRs-Fixed: 1083561
-rw-r--r--core/hdd/src/wlan_hdd_tdls.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/core/hdd/src/wlan_hdd_tdls.c b/core/hdd/src/wlan_hdd_tdls.c
index 35a9da0e53b8..4f1f921e7185 100644
--- a/core/hdd/src/wlan_hdd_tdls.c
+++ b/core/hdd/src/wlan_hdd_tdls.c
@@ -4061,6 +4061,17 @@ static int __wlan_hdd_cfg80211_tdls_mgmt(struct wiphy *wiphy,
return -EPERM;
}
}
+ /* Discard TDLS Discovery request and setup confirm if violates
+ ACM rules */
+ if ((SIR_MAC_TDLS_DIS_REQ == action_code ||
+ SIR_MAC_TDLS_SETUP_CNF == action_code) &&
+ (hdd_wmm_is_active(pAdapter)) &&
+ !(pAdapter->hddWmmStatus.wmmAcStatus[OL_TX_WMM_AC_VI].wmmAcAccessAllowed)) {
+ QDF_TRACE(QDF_MODULE_ID_HDD, QDF_TRACE_LEVEL_ERROR,
+ "%s: Admission control is set to VI, action %d is not allowed.",
+ __func__, action_code);
+ return -EPERM;
+ }
if (SIR_MAC_TDLS_SETUP_REQ == action_code ||
SIR_MAC_TDLS_SETUP_RSP == action_code) {