[Make-wifi-fast] [PATCH v5 4/6] ath9k: Switch to mac80211 TXQ scheduling and airtime APIs
Toke Høiland-Jørgensen
toke at toke.dk
Mon Jan 21 11:51:44 EST 2019
Just discovered this while working on my follow-up:
> void ath_tx_queue_tid(struct ath_softc *sc, struct ath_atx_tid *tid)
> {
> - struct ath_vif *avp = (struct ath_vif *) tid->an->vif->drv_priv;
> - struct ath_chanctx *ctx = avp->chanctx;
> - struct ath_acq *acq;
> + struct ieee80211_txq *queue =
> + container_of((void *)tid, struct ieee80211_txq, drv_priv);
>
> - if (!ctx || !list_empty(&tid->list))
> - return;
> -
> - acq = &ctx->acq[TID_TO_WME_AC(tid->tidno)];
> - spin_lock_bh(&acq->lock);
> - __ath_tx_queue_tid(sc, tid);
> - spin_unlock_bh(&acq->lock);
> + ieee80211_return_txq(sc->hw, queue);
> }
After we evolved the API, this is now wrong, as ieee80211_return_txq()
should only be called while holding the right lock. I'll post a fixed
version tomorrow.
-Toke
More information about the Make-wifi-fast
mailing list