Bläddra i källkod

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
Ashish Kumar Dhanotiya 8 år sedan
förälder
incheckning
ac4c11bbb5
1 ändrade filer med 13 tillägg och 0 borttagningar
  1. 13 0
      core/hdd/src/wlan_hdd_tdls.c

+ 13 - 0
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) {