summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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) {