iwlwifi: mvm: write queue_sync_state only for sync

[ Upstream commit 5f8a3561ea8bf75ad52cb16dafe69dd550fa542e ]

We use mvm->queue_sync_state to wait for synchronous queue sync
messages, but if an async one happens inbetween we shouldn't
clear mvm->queue_sync_state after sending the async one, that
can run concurrently (at least from the CPU POV) with another
synchronous queue sync.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20210331121101.d11c9bcdb4aa.I0772171dbaec87433a11513e9586d98b5d920b5f@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Johannes Berg 2021-03-31 12:14:41 +03:00 committed by Greg Kroah-Hartman
parent f5e6da2ca1
commit 52b9609b89

View File

@ -5177,10 +5177,11 @@ void iwl_mvm_sync_rx_queues_internal(struct iwl_mvm *mvm,
}
out:
if (notif->sync) {
mvm->queue_sync_state = 0;
if (notif->sync)
mvm->queue_sync_cookie++;
}
}
static void iwl_mvm_sync_rx_queues(struct ieee80211_hw *hw)
{