diff mbox series

[01/12] iwlwifi: mvm: write queue_sync_state only for sync

Message ID iwlwifi.20210331121101.d11c9bcdb4aa.I0772171dbaec87433a11513e9586d98b5d920b5f@changeid
State Accepted
Commit 5422db22b508daff58a55d1ccd6cc1fee6836eb8
Delegated to: Luca Coelho
Headers show
Series iwlwifi: updates intended for v5.13 2021-03-31 | expand

Commit Message

Luca Coelho March 31, 2021, 9:14 a.m. UTC
From: Johannes Berg <johannes.berg@intel.com>

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>
---
 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Luca Coelho April 12, 2021, 10:24 a.m. UTC | #1
Luca Coelho <luca@coelho.fi> wrote:

> From: Johannes Berg <johannes.berg@intel.com>
> 
> 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>

11 patches applied to iwlwifi-next.git, thanks.

ac2d58b34dc9 iwlwifi: mvm: write queue_sync_state only for sync
d96fbcbb5040 iwlwifi: mvm: clean up queue sync implementation
35d261a2d9fa iwlwifi: mvm: when associated with PMF, use protected NDP ranging negotiation
920484e82ea5 iwlwifi: add ax201 killer device
f05a69e2c7d7 iwlwifi: mvm: Add support for 6GHz passive scan
7143a6771d2c iwlwifi: mvm: enable PPAG in China
4eedace3b6d6 iwlwifi: add new so-gf device
c3e599ec1757 iwlwifi: move iwl_configure_rxq to be used by other op_modes
bc0411c5b1f8 iwlwifi: mvm: support BIOS enable/disable for 11ax in Ukraine
d4eb23d659d3 iwlwifi: mvm: refactor ACPI DSM evaluation function
86817a2ea413 iwlwifi: mvm: Use IWL_INFO in fw_reset_handshake()
diff mbox series

Patch

diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
index 9ed6e2783cc4..fbd37a19b6e0 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
@@ -5177,9 +5177,10 @@  void iwl_mvm_sync_rx_queues_internal(struct iwl_mvm *mvm,
 	}
 
 out:
-	mvm->queue_sync_state = 0;
-	if (notif->sync)
+	if (notif->sync) {
+		mvm->queue_sync_state = 0;
 		mvm->queue_sync_cookie++;
+	}
 }
 
 static void iwl_mvm_sync_rx_queues(struct ieee80211_hw *hw)