Commit 309c4848 authored by Luca Coelho's avatar Luca Coelho
Browse files

iwlwifi: mvm: hold mutex when flushing in iwl_mvm_flush_no_vif()



The iwl_mvm_flush_tx_path() function sends a synchronous command to
the firmware.  When doing that, we must hold the mutex.  The
iwl_mvm_flush_no_vif() function was mistakenly not holding the mutex.
Fix it.

Fixes: 6110d9e5 ("iwlwifi: mvm: Flush non STA TX queues")
Signed-off-by: default avatarLuca Coelho <luciano.coelho@intel.com>
parent 06195639
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -4005,11 +4005,14 @@ static void iwl_mvm_flush_no_vif(struct iwl_mvm *mvm, u32 queues, bool drop)
	int i;

	if (!iwl_mvm_has_new_tx_api(mvm)) {
		if (drop)
		if (drop) {
			mutex_lock(&mvm->mutex);
			iwl_mvm_flush_tx_path(mvm,
				iwl_mvm_flushable_queues(mvm) & queues, 0);
		else
			mutex_unlock(&mvm->mutex);
		} else {
			iwl_trans_wait_tx_queues_empty(mvm->trans, queues);
		}
		return;
	}