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

Commit ee48b722 authored by Liad Kaufman's avatar Liad Kaufman Committed by Luca Coelho
Browse files

iwlwifi: mvm: support ibss in dqa mode



Allow working IBSS also when working in DQA mode.
This is done by setting it to treat the queues the
same as a BSS AP treats the queues.

Fixes: 7948b873 ("iwlwifi: mvm: enable dynamic queue allocation mode")
Signed-off-by: default avatarLiad Kaufman <liad.kaufman@intel.com>
Signed-off-by: default avatarLuca Coelho <luciano.coelho@intel.com>
parent c72c37b7
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -2120,7 +2120,8 @@ int iwl_mvm_add_mcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
	if (!iwl_mvm_is_dqa_supported(mvm))
		return 0;

	if (WARN_ON(vif->type != NL80211_IFTYPE_AP))
	if (WARN_ON(vif->type != NL80211_IFTYPE_AP &&
		    vif->type != NL80211_IFTYPE_ADHOC))
		return -ENOTSUPP;

	/*
@@ -2155,6 +2156,16 @@ int iwl_mvm_add_mcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
		mvmvif->cab_queue = queue;
	} else if (!fw_has_api(&mvm->fw->ucode_capa,
			       IWL_UCODE_TLV_API_STA_TYPE)) {
		/*
		 * In IBSS, ieee80211_check_queues() sets the cab_queue to be
		 * invalid, so make sure we use the queue we want.
		 * Note that this is done here as we want to avoid making DQA
		 * changes in mac80211 layer.
		 */
		if (vif->type == NL80211_IFTYPE_ADHOC) {
			vif->cab_queue = IWL_MVM_DQA_GCAST_QUEUE;
			mvmvif->cab_queue = vif->cab_queue;
		}
		iwl_mvm_enable_txq(mvm, vif->cab_queue, vif->cab_queue, 0,
				   &cfg, timeout);
	}