|
@@ -7102,6 +7102,8 @@ wlan_hdd_wifi_test_config_policy[
|
|
|
.type = NLA_U8},
|
|
|
[QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_RU_242_TONE_TX] = {
|
|
|
.type = NLA_U8},
|
|
|
+ [QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_6GHZ_SECURITY_TEST_MODE]
|
|
|
+ = {.type = NLA_U8},
|
|
|
};
|
|
|
|
|
|
/**
|
|
@@ -9845,6 +9847,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
|
|
|
uint8_t value = 0;
|
|
|
uint8_t wmm_mode = 0;
|
|
|
uint32_t cmd_id;
|
|
|
+ bool rf_test_mode = false;
|
|
|
struct set_wfatest_params wfa_param = {0};
|
|
|
struct hdd_station_ctx *hdd_sta_ctx =
|
|
|
WLAN_HDD_GET_STATION_CTX_PTR(adapter);
|
|
@@ -10406,6 +10409,30 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
|
|
|
ret_val = ucfg_send_wfatest_cmd(adapter->vdev, &wfa_param);
|
|
|
}
|
|
|
|
|
|
+ cmd_id = QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_6GHZ_SECURITY_TEST_MODE;
|
|
|
+ if (tb[cmd_id]) {
|
|
|
+ status = ucfg_mlme_is_rf_test_mode_enabled(hdd_ctx->psoc,
|
|
|
+ &rf_test_mode);
|
|
|
+ if (!QDF_IS_STATUS_SUCCESS(status)) {
|
|
|
+ hdd_err("Get rf test mode failed");
|
|
|
+ return QDF_STATUS_E_FAILURE;
|
|
|
+ }
|
|
|
+ if (rf_test_mode) {
|
|
|
+ hdd_err("rf test mode is enabled, ignore setting");
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ cfg_val = nla_get_u8(tb[cmd_id]);
|
|
|
+ hdd_debug("safe mode setting %d", cfg_val);
|
|
|
+ if (cfg_val) {
|
|
|
+ wlan_cm_set_check_6ghz_security(hdd_ctx->psoc, false);
|
|
|
+ wlan_cm_set_6ghz_key_mgmt_mask(hdd_ctx->psoc,
|
|
|
+ DEFAULT_KEYMGMT_6G_MASK);
|
|
|
+ } else {
|
|
|
+ wlan_cm_set_check_6ghz_security(hdd_ctx->psoc, true);
|
|
|
+ wlan_cm_set_6ghz_key_mgmt_mask(hdd_ctx->psoc,
|
|
|
+ ALLOWED_KEYMGMT_6G_MASK);
|
|
|
+ }
|
|
|
+ }
|
|
|
cmd_id = QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_OCI_OVERRIDE;
|
|
|
if (tb[cmd_id]) {
|
|
|
struct nlattr *tb2[QCA_WLAN_VENDOR_ATTR_OCI_OVERRIDE_MAX + 1];
|