From ac4c11bbb5432b2ec7df278c7dcb7b86d26850cf Mon Sep 17 00:00:00 2001 From: Ashish Kumar Dhanotiya Date: Sat, 25 Feb 2017 01:06:37 +0530 Subject: [PATCH] qcacld-3.0: Discard TDLS mgmt frames if violates ACM rules wlan-cld3.driver.lnx.1.1-dev to wlan-cld3.driver.lnx.2.0-dev 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 --- core/hdd/src/wlan_hdd_tdls.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/core/hdd/src/wlan_hdd_tdls.c b/core/hdd/src/wlan_hdd_tdls.c index 61781f13358b..dc11d3eb38bf 100644 --- a/core/hdd/src/wlan_hdd_tdls.c +++ b/core/hdd/src/wlan_hdd_tdls.c @@ -4074,6 +4074,19 @@ 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_WARN, + "%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) {