Search Linux Wireless

Re: [PATCH v5 4/6] ath9k: Switch to mac80211 TXQ scheduling and airtime APIs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux