Patch "mac80211: do drv_reconfig_complete() before restarting all" has been added to the 5.15-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    mac80211: do drv_reconfig_complete() before restarting all

to the 5.15-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     mac80211-do-drv_reconfig_complete-before-restarting-.patch
and it can be found in the queue-5.15 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit b4a0b9c92d5c037d027e5297451819d94b6f6896
Author: Johannes Berg <johannes.berg@xxxxxxxxx>
Date:   Mon Nov 29 15:32:40 2021 +0200

    mac80211: do drv_reconfig_complete() before restarting all
    
    [ Upstream commit 13dee10b30c058ee2c58c5da00339cc0d4201aa6 ]
    
    When we reconfigure, the driver might do some things to complete
    the reconfiguration. It's strange and could be broken in some
    cases because we restart other works (e.g. remain-on-channel and
    TX) before this happens, yet only start queues later.
    
    Change this to do the reconfig complete when reconfiguration is
    actually complete, not when we've already started doing other
    things again.
    
    For iwlwifi, this should fix a race where the reconfig can race
    with TX, for ath10k and ath11k that also use this it won't make
    a difference because they just start queues there, and mac80211
    also stopped the queues and will restart them later as before.
    
    Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
    Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx>
    Link: https://lore.kernel.org/r/iwlwifi.20211129152938.cab99f22fe19.Iefe494687f15fd85f77c1b989d1149c8efdfdc36@changeid
    Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
    Stable-dep-of: 07a6e3b78a65 ("wifi: iwlwifi: mvm: Fix response handling in iwl_mvm_send_recovery_cmd()")
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/net/mac80211/util.c b/net/mac80211/util.c
index ef7b6d88ee00c..28676a305916c 100644
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
@@ -2656,6 +2656,13 @@ int ieee80211_reconfig(struct ieee80211_local *local)
 		mutex_unlock(&local->sta_mtx);
 	}
 
+	/*
+	 * If this is for hw restart things are still running.
+	 * We may want to change that later, however.
+	 */
+	if (local->open_count && (!suspended || reconfig_due_to_wowlan))
+		drv_reconfig_complete(local, IEEE80211_RECONFIG_TYPE_RESTART);
+
 	if (local->in_reconfig) {
 		local->in_reconfig = false;
 		barrier();
@@ -2674,13 +2681,6 @@ int ieee80211_reconfig(struct ieee80211_local *local)
 					IEEE80211_QUEUE_STOP_REASON_SUSPEND,
 					false);
 
-	/*
-	 * If this is for hw restart things are still running.
-	 * We may want to change that later, however.
-	 */
-	if (local->open_count && (!suspended || reconfig_due_to_wowlan))
-		drv_reconfig_complete(local, IEEE80211_RECONFIG_TYPE_RESTART);
-
 	if (!suspended)
 		return 0;
 




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux