Explorar o código

qcacmn: Ignore H2E RSNXE support for test config

Userspace sends the vendor command WIFI_TEST_CONFIGURATION by
setting the attribute WIFI_TEST_CONFIG_IGNORE_H2E_RSNXE when
driver needs to ignore the SAE H2E mismatch for 6 GHz connection.
This is needed for certification test support

Change-Id: I5c1838598478ab74d72d57a765452d7fd989b701
CRs-Fixed: 3072578
Srinivas Dasari %!s(int64=3) %!d(string=hai) anos
pai
achega
cc60bec109

+ 15 - 1
umac/mlme/connection_mgr/core/src/wlan_cm_bss_scoring.c

@@ -31,6 +31,7 @@
 #include "wlan_mgmt_txrx_utils_api.h"
 #ifdef CONN_MGR_ADV_FEATURE
 #include "wlan_mlme_api.h"
+#include "wlan_wfa_tgt_if_tx_api.h"
 #endif
 
 #define CM_PCL_RSSI_THRESHOLD -75
@@ -2085,6 +2086,18 @@ static bool cm_check_h2e_support(const uint8_t *rsnxe)
 	return false;
 }
 
+#ifdef CONN_MGR_ADV_FEATURE
+static bool wlan_cm_wfa_get_test_feature_flags(struct wlan_objmgr_psoc *psoc)
+{
+	return wlan_wfa_get_test_feature_flags(psoc, WFA_TEST_IGNORE_RSNXE);
+}
+#else
+static bool wlan_cm_wfa_get_test_feature_flags(struct wlan_objmgr_psoc *psoc)
+{
+	return false;
+}
+#endif
+
 bool wlan_cm_6ghz_allowed_for_akm(struct wlan_objmgr_psoc *psoc,
 				  uint32_t key_mgmt, uint16_t rsn_caps,
 				  const uint8_t *rsnxe, uint8_t sae_pwe,
@@ -2140,7 +2153,8 @@ bool wlan_cm_6ghz_allowed_for_akm(struct wlan_objmgr_psoc *psoc,
 	    QDF_HAS_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_FT_SAE)))
 		return true;
 
-	return cm_check_h2e_support(rsnxe);
+	return (cm_check_h2e_support(rsnxe) ||
+		wlan_cm_wfa_get_test_feature_flags(psoc));
 }
 
 void wlan_cm_set_check_6ghz_security(struct wlan_objmgr_psoc *psoc,

+ 3 - 0
wmi/inc/wmi_unified_param.h

@@ -2858,6 +2858,8 @@ struct set_fwtest_params {
  * @WFA_CONFIG_OCV: configure OCI
  * @WFA_CONFIG_SA_QUERY: configure driver/firmware to ignore SAquery timeout
  * @WFA_FILS_DISCV_FRAMES: FD frames TX enable disable config
+ * @WFA_IGNORE_H2E_RSNXE: configure driver/firmware to ignore H2E_RSNXE in case
+ *                        of 6g connection
  */
 enum wfa_test_cmds {
 	WFA_CONFIG_RXNE,
@@ -2865,6 +2867,7 @@ enum wfa_test_cmds {
 	WFA_CONFIG_OCV,
 	WFA_CONFIG_SA_QUERY,
 	WFA_FILS_DISCV_FRAMES,
+	WFA_IGNORE_H2E_RSNXE,
 };
 
 /**