]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
wifi: mac80211: Recalc offload when monitor stop
authorRemi Pommarel <repk@triplefau.lt>
Sat, 18 May 2024 16:07:33 +0000 (18:07 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 27 Jun 2024 11:52:20 +0000 (13:52 +0200)
[ Upstream commit 7d09e17c0415fe6d946044c7e70bce31cda952ec ]

When a monitor interface is started, ieee80211_recalc_offload() is
called and 802.11 encapsulation offloading support get disabled so
monitor interface could get native wifi frames directly. But when
this interface is stopped there is no need to keep the 802.11
encpasulation offloading off.

This call ieee80211_recalc_offload() when monitor interface is stopped
so 802.11 encapsulation offloading gets re-activated if possible.

Fixes: 6aea26ce5a4c ("mac80211: rework tx encapsulation offload API")
Signed-off-by: Remi Pommarel <repk@triplefau.lt>
Link: https://msgid.link/840baab454f83718e6e16fd836ac597d924e85b9.1716048326.git.repk@triplefau.lt
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/mac80211/iface.c

index ef6b0fc82d022769d839c822ef108f130f0ccc4e..d759ef2b88c245691222ff63cfdd4237a5387350 100644 (file)
@@ -686,6 +686,7 @@ static void ieee80211_do_stop(struct ieee80211_sub_if_data *sdata, bool going_do
                        ieee80211_del_virtual_monitor(local);
 
                ieee80211_recalc_idle(local);
+               ieee80211_recalc_offload(local);
 
                if (!(sdata->u.mntr.flags & MONITOR_FLAG_ACTIVE))
                        break;