[Make-wifi-fast] [PATCH RFC v4 3/4] mac80211: Add airtime accounting and scheduling to TXQs

Toke Høiland-Jørgensen toke at toke.dk
Tue Oct 2 04:22:09 EDT 2018

Rajkumar Manoharan <rmanohar at codeaurora.org> writes:

>> Great! I'll fold in the rest, test it with ath9k and submit as a proper 
>> patch :)
> Toke,
> I noticed a race condition b/w sta cleanup and kick_airtime tasklet.
> How do you plan to exit kick_airtime gracefully during sta_cleanup?

Ah, right, there's a lot of stuff going on before we get to purge_txq.
Hmm, I guess we should either make sure we remove the station from
active_txqs earlier in the sta cleanup process, or maybe it'd enough to
just check the removed flag in the tasklet?

Does the below patch fix the issue?


diff --git a/net/mac80211/util.c b/net/mac80211/util.c
index 9c889da48ef0..8fa3c09d041c 100644
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
@@ -258,6 +258,9 @@ static void __ieee80211_kick_airtime(struct ieee80211_local *local, int ac)
 		sta = container_of(txqi->txq.sta, struct sta_info, sta);
+		if (sta->removed)
+			continue;
 		if (sta->airtime[ac].deficit >= 0) {
 			seen_eligible = true;

More information about the Make-wifi-fast mailing list