projects
/
linux-block.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
49f27f2
)
wifi: mac80211: Cleanup sta TXQs on flush
author
Alexander Wetzel
<Alexander@wetzel-home.de>
Tue, 4 Feb 2025 12:31:29 +0000
(13:31 +0100)
committer
Johannes Berg
<johannes.berg@intel.com>
Tue, 11 Feb 2025 11:40:18 +0000
(12:40 +0100)
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>
net/mac80211/util.c
patch
|
blob
|
blame
|
history
diff --git
a/net/mac80211/util.c
b/net/mac80211/util.c
index f6b631faf4f7f99309466ec3b1d52f7a7acf450e..7f02bd5891eb94645dd8efedce130086916690d2 100644
(file)
--- a/
net/mac80211/util.c
+++ b/
net/mac80211/util.c
@@
-687,7
+687,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;
/*
@@
-714,7
+714,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,