Commit 1758f979 authored by Avraham Stern's avatar Avraham Stern Committed by Johannes Berg
Browse files

wifi: iwlwifi: mvm: add debugfs for forcing unprotected ranging request



Add an option to force sending unprotected ranging request even if the
station is associated to the responder or a PASN keys are configured.
This is used for testing.

Signed-off-by: default avatarAvraham Stern <avraham.stern@intel.com>
Reviewed-by: default avatarMiriam Rachel Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240319100755.8523150148ec.I7ab6c547513717e69ec385f72a8f43ea00bd9e0a@changeid


Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 414adede
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -793,6 +793,8 @@ void iwl_mvm_vif_add_debugfs(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
	MVM_DEBUGFS_ADD_FILE_VIF(rx_phyinfo, mvmvif->dbgfs_dir, 0600);
	MVM_DEBUGFS_ADD_FILE_VIF(quota_min, mvmvif->dbgfs_dir, 0600);
	MVM_DEBUGFS_ADD_FILE_VIF(os_device_timediff, mvmvif->dbgfs_dir, 0400);
	debugfs_create_bool("ftm_unprotected", 0200, mvmvif->dbgfs_dir,
			    &mvmvif->ftm_unprotected);
	MVM_DEBUGFS_ADD_FILE_VIF(int_mlo_scan, mvmvif->dbgfs_dir, 0200);

	if (vif->type == NL80211_IFTYPE_STATION && !vif->p2p &&
+16 −1
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
/*
 * Copyright (C) 2015-2017 Intel Deutschland GmbH
 * Copyright (C) 2018-2023 Intel Corporation
 * Copyright (C) 2018-2024 Intel Corporation
 */
#include <linux/etherdevice.h>
#include <linux/math64.h>
@@ -551,6 +551,15 @@ iwl_mvm_ftm_put_target(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
			break;
		}
		rcu_read_unlock();

#ifdef CONFIG_IWLWIFI_DEBUGFS
		if (mvmvif->ftm_unprotected) {
			target->sta_id = IWL_MVM_INVALID_STA;
			target->initiator_ap_flags &=
				~cpu_to_le32(IWL_INITIATOR_AP_FLAGS_PMF);
		}

#endif
	} else {
		target->sta_id = IWL_MVM_INVALID_STA;
	}
@@ -713,6 +722,12 @@ iwl_mvm_ftm_set_secured_ranging(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
{
	struct iwl_mvm_ftm_pasn_entry *entry;
	u32 flags = le32_to_cpu(target->initiator_ap_flags);
#ifdef CONFIG_IWLWIFI_DEBUGFS
	struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif);

	if (mvmvif->ftm_unprotected)
		return;
#endif

	if (!(flags & (IWL_INITIATOR_AP_FLAGS_NON_TB |
		       IWL_INITIATOR_AP_FLAGS_TB)))
+1 −0
Original line number Diff line number Diff line
@@ -437,6 +437,7 @@ struct iwl_mvm_vif {
	struct iwl_dbgfs_bf dbgfs_bf;
	struct iwl_mac_power_cmd mac_pwr_cmd;
	int dbgfs_quota_min;
	bool ftm_unprotected;
#endif

	/* FW identified misbehaving AP */