Skip to content

Commit 5b99900

Browse files
alexw65500jmberg-intel
authored andcommitted
wifi: mac80211: Cleanup sta TXQs on flush
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>
1 parent 49f27f2 commit 5b99900

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

net/mac80211/util.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -687,7 +687,7 @@ void __ieee80211_flush_queues(struct ieee80211_local *local,
687687
struct ieee80211_sub_if_data *sdata,
688688
unsigned int queues, bool drop)
689689
{
690-
if (!local->ops->flush)
690+
if (!local->ops->flush && !drop)
691691
return;
692692

693693
/*
@@ -714,7 +714,8 @@ void __ieee80211_flush_queues(struct ieee80211_local *local,
714714
}
715715
}
716716

717-
drv_flush(local, sdata, queues, drop);
717+
if (local->ops->flush)
718+
drv_flush(local, sdata, queues, drop);
718719

719720
ieee80211_wake_queues_by_reason(&local->hw, queues,
720721
IEEE80211_QUEUE_STOP_REASON_FLUSH,

0 commit comments

Comments
 (0)