wifi: mac80211: Cleanup sta TXQs on flush
[ Upstream commit 5b999006e35ea9c11116ddff7e375b256421d0af ] Drop the sta TXQs on flush when the drivers is not supporting flush. ieee80211_set_disassoc() tries to clean up everything for the sta. But it ignored queued frames in the sta TX queues when the driver isn't supporting the flush driver ops. Signed-off-by: Alexander Wetzel <Alexander@wetzel-home.de> Link: https://patch.msgid.link/20250204123129.9162-1-Alexander@wetzel-home.de Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
eb532ac40d
commit
5d42a34137
+3
-2
@@ -685,7 +685,7 @@ void __ieee80211_flush_queues(struct ieee80211_local *local,
|
||||
struct ieee80211_sub_if_data *sdata,
|
||||
unsigned int queues, bool drop)
|
||||
{
|
||||
if (!local->ops->flush)
|
||||
if (!local->ops->flush && !drop)
|
||||
return;
|
||||
|
||||
/*
|
||||
@@ -712,7 +712,8 @@ void __ieee80211_flush_queues(struct ieee80211_local *local,
|
||||
}
|
||||
}
|
||||
|
||||
drv_flush(local, sdata, queues, drop);
|
||||
if (local->ops->flush)
|
||||
drv_flush(local, sdata, queues, drop);
|
||||
|
||||
ieee80211_wake_queues_by_reason(&local->hw, queues,
|
||||
IEEE80211_QUEUE_STOP_REASON_FLUSH,
|
||||
|
||||
Reference in New Issue
Block a user