|
|
|
@ -1,3 +1,20 @@ |
|
|
|
|
commit 22e298b5a3a8a49e33805d4e351965123dede35b
|
|
|
|
|
Author: Felix Fietkau <nbd@openwrt.org>
|
|
|
|
|
Date: Sun Mar 9 10:58:47 2014 +0100
|
|
|
|
|
|
|
|
|
|
ath9k: fix ready time of the multicast buffer queue
|
|
|
|
|
|
|
|
|
|
qi->tqi_readyTime is written directly to registers that expect
|
|
|
|
|
microseconds as unit instead of TU.
|
|
|
|
|
When setting the CABQ ready time, cur_conf->beacon_interval is in TU, so
|
|
|
|
|
convert it to microseconds before passing it to ath9k_hw.
|
|
|
|
|
|
|
|
|
|
This should hopefully fix some Tx DMA issues with buffered multicast
|
|
|
|
|
frames in AP mode.
|
|
|
|
|
|
|
|
|
|
Cc: stable@vger.kernel.org
|
|
|
|
|
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|
|
|
|
|
|
|
|
|
commit fcb064fdd5a27bec8d24099bc0172468f34c97cb
|
|
|
|
|
Author: Felix Fietkau <nbd@openwrt.org>
|
|
|
|
|
Date: Sun Mar 9 09:43:09 2014 +0100
|
|
|
|
@ -3286,6 +3303,15 @@ Date: Thu Jan 23 20:06:34 2014 +0100 |
|
|
|
|
buffered = ath_tid_has_buffered(tid);
|
|
|
|
|
|
|
|
|
|
tid->sched = false;
|
|
|
|
|
@@ -1696,7 +1698,7 @@ int ath_cabq_update(struct ath_softc *sc
|
|
|
|
|
|
|
|
|
|
ath9k_hw_get_txq_props(sc->sc_ah, qnum, &qi);
|
|
|
|
|
|
|
|
|
|
- qi.tqi_readyTime = (cur_conf->beacon_interval *
|
|
|
|
|
+ qi.tqi_readyTime = (TU_TO_USEC(cur_conf->beacon_interval) *
|
|
|
|
|
ATH_CABQ_READY_TIME) / 100;
|
|
|
|
|
ath_txq_update(sc, qnum, &qi);
|
|
|
|
|
|
|
|
|
|
@@ -2184,14 +2186,15 @@ int ath_tx_start(struct ieee80211_hw *hw
|
|
|
|
|
txq->stopped = true;
|
|
|
|
|
}
|
|
|
|
|