| From cee84a69e7b14d871dcfbe2accf68f10a41bf1f9 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Sat, 7 Nov 2020 10:50:09 +0200 |
| Subject: iwlwifi: mvm: write queue_sync_state only for sync |
| |
| From: Avraham Stern <avraham.stern@intel.com> |
| |
| [ Upstream commit 97cc16943f23078535fdbce4f6391b948b4ccc08 ] |
| |
| 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> |
| Fixes: 3c514bf831ac ("iwlwifi: mvm: add a loose synchronization of the NSSN across Rx queues") |
| Signed-off-by: Luca Coelho <luciano.coelho@intel.com> |
| Signed-off-by: Kalle Valo <kvalo@codeaurora.org> |
| Link: https://lore.kernel.org/r/iwlwifi.20201107104557.51a3148f2c14.I0772171dbaec87433a11513e9586d98b5d920b5f@changeid |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c | 3 +++ |
| 1 file changed, 3 insertions(+) |
| |
| diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c |
| index c918c0887ed01..34362dc0d4612 100644 |
| --- a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c |
| +++ b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c |
| @@ -3104,6 +3104,9 @@ static int iwl_mvm_mac_sta_state(struct ieee80211_hw *hw, |
| goto out_unlock; |
| } |
| |
| + if (vif->type == NL80211_IFTYPE_STATION) |
| + vif->bss_conf.he_support = sta->he_cap.has_he; |
| + |
| if (sta->tdls && |
| (vif->p2p || |
| iwl_mvm_tdls_sta_count(mvm, NULL) == |
| -- |
| 2.27.0 |
| |