ath9k: remove the pending frames ath_txq_schedule workaround
This workaround called ath_txq_schedule whenever there were still pending frames for a queue, but the queue depth was zero. Because of its its high false positive probability (e.g. with paused TIDs) and because it is in the way of other pending work (AP powersave fixes), it is better to remove this code entirely. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Родитель
598cdd5246
Коммит
a9cbe96d19
|
@ -2144,33 +2144,6 @@ static void ath_tx_complete_poll_work(struct work_struct *work)
|
|||
} else {
|
||||
txq->axq_tx_inprogress = true;
|
||||
}
|
||||
} else {
|
||||
/* If the queue has pending buffers, then it
|
||||
* should be doing tx work (and have axq_depth).
|
||||
* Shouldn't get to this state I think..but
|
||||
* we do.
|
||||
*/
|
||||
if (!(sc->sc_flags & (SC_OP_OFFCHANNEL)) &&
|
||||
(txq->pending_frames > 0 ||
|
||||
!list_empty(&txq->axq_acq) ||
|
||||
txq->stopped)) {
|
||||
ath_err(ath9k_hw_common(sc->sc_ah),
|
||||
"txq: %p axq_qnum: %u,"
|
||||
" mac80211_qnum: %i"
|
||||
" axq_link: %p"
|
||||
" pending frames: %i"
|
||||
" axq_acq empty: %i"
|
||||
" stopped: %i"
|
||||
" axq_depth: 0 Attempting to"
|
||||
" restart tx logic.\n",
|
||||
txq, txq->axq_qnum,
|
||||
txq->mac80211_qnum,
|
||||
txq->axq_link,
|
||||
txq->pending_frames,
|
||||
list_empty(&txq->axq_acq),
|
||||
txq->stopped);
|
||||
ath_txq_schedule(sc, txq);
|
||||
}
|
||||
}
|
||||
spin_unlock_bh(&txq->axq_lock);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче