Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4741dd04 authored by Luciano Coelho's avatar Luciano Coelho Committed by Emmanuel Grumbach
Browse files

iwlwifi: mvm: use switching_chanctx argument instead of csa_active



Now that all CSA flows are using the switch_vif_chanctx op, we can
rely on the switching_chanctx boolean that is passed to the
__iwl_mvm_assign_vif_chanctx() and __iwl_mvm_unassign_vif_chanctx()
functions to decide whether the context switch flows need to be
executed.  In this way we make the chanctx switch flow more generic,
without having to rely on the csa_active flag being set.

Signed-off-by: default avatarLuciano Coelho <luciano.coelho@intel.com>
parent f6c34820
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -2796,8 +2796,8 @@ static int __iwl_mvm_assign_vif_chanctx(struct iwl_mvm *mvm,

	switch (vif->type) {
	case NL80211_IFTYPE_AP:
		/* Unless it's a CSA flow we have nothing to do here */
		if (vif->csa_active) {
		/* only needed if we're switching chanctx (i.e. during CSA) */
		if (switching_chanctx) {
			mvmvif->ap_ibss_active = true;
			break;
		}
@@ -2847,7 +2847,7 @@ static int __iwl_mvm_assign_vif_chanctx(struct iwl_mvm *mvm,
		iwl_mvm_mac_ctxt_changed(mvm, vif, false, NULL);
	}

	if (vif->csa_active && vif->type == NL80211_IFTYPE_STATION) {
	if (switching_chanctx && vif->type == NL80211_IFTYPE_STATION) {
		struct iwl_mvm_sta *mvmsta;

		mvmsta = iwl_mvm_sta_from_staid_protected(mvm,
@@ -2906,7 +2906,7 @@ static void __iwl_mvm_unassign_vif_chanctx(struct iwl_mvm *mvm,
		break;
	case NL80211_IFTYPE_AP:
		/* This part is triggered only during CSA */
		if (!vif->csa_active || !mvmvif->ap_ibss_active)
		if (!switching_chanctx || !mvmvif->ap_ibss_active)
			goto out;

		mvmvif->csa_countdown = false;