Patch "wifi: mac80211: remove link before AP" has been added to the 6.8-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

    wifi: mac80211: remove link before AP

to the 6.8-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:
     wifi-mac80211-remove-link-before-ap.patch
and it can be found in the queue-6.8 subdirectory.

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



commit b636aee327e855bc116d060ecd8af293883f0fdd
Author: Johannes Berg <johannes.berg@xxxxxxxxx>
Date:   Thu Apr 18 10:52:25 2024 +0200

    wifi: mac80211: remove link before AP
    
    [ Upstream commit cb55e08dba3526796e35d24a6d5db4ed6dcb8a4b ]
    
    If the AP removal timer is long, we don't really want to
    remove the link immediately. However, we really should do
    it _before_ the AP removes it (which happens at or after
    count reaches 0), so subtract 1 from the countdown when
    scheduling the timer. This causes the link removal work
    to run just after the beacon with value 1 is received. If
    the counter is already zero, do it immediately.
    
    This fixes an issue where we do the removal too late and
    receive a beacon from the AP that's no longer associated
    with the MLD, but thus removed EHT and ML elements, and
    then we disconnect instead from the whole MLD, since one
    of the associated APs changed mode from EHT to HE.
    
    Fixes: 8eb8dd2ffbbb ("wifi: mac80211: Support link removal using Reconfiguration ML element")
    Reviewed-by: Ilan Peer <ilan.peer@xxxxxxxxx>
    Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@xxxxxxxxx>
    Link: https://msgid.link/20240418105220.03ac4a09fa74.Ifb8c8d38e3402721a81ce5981568f47b5c5889cb@changeid
    Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index 20d863370796d..fb9860d508707 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -5873,8 +5873,11 @@ static void ieee80211_ml_reconfiguration(struct ieee80211_sub_if_data *sdata,
 			continue;
 		}
 
-		link_delay = link_conf->beacon_int *
-			link_removal_timeout[link_id];
+		if (link_removal_timeout[link_id] < 1)
+			link_delay = 0;
+		else
+			link_delay = link_conf->beacon_int *
+				(link_removal_timeout[link_id] - 1);
 
 		if (!delay)
 			delay = link_delay;




[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