svn commit: r248713 - head/sys/dev/ath
Adrian Chadd
adrian at FreeBSD.org
Tue Mar 26 04:47:41 UTC 2013
Author: adrian
Date: Tue Mar 26 04:47:40 2013
New Revision: 248713
URL: http://svnweb.freebsd.org/changeset/base/248713
Log:
Migrate the multicast queue assembly code to not use the axq_link pointer
and instead use the HAL method to set the link pointer.
Tested:
* AR9280, hostap mode, CABQ frames being queued and transmitted
Modified:
head/sys/dev/ath/if_ath_tx.c
Modified: head/sys/dev/ath/if_ath_tx.c
==============================================================================
--- head/sys/dev/ath/if_ath_tx.c Tue Mar 26 01:17:06 2013 (r248712)
+++ head/sys/dev/ath/if_ath_tx.c Tue Mar 26 04:47:40 2013 (r248713)
@@ -704,18 +704,20 @@ ath_tx_handoff_mcast(struct ath_softc *s
("%s: busy status 0x%x", __func__, bf->bf_flags));
ATH_TXQ_LOCK(txq);
- if (txq->axq_link != NULL) {
- struct ath_buf *last = ATH_TXQ_LAST(txq, axq_q_s);
+ if (ATH_TXQ_LAST(txq, axq_q_s) != NULL) {
+ struct ath_buf *bf_last = ATH_TXQ_LAST(txq, axq_q_s);
struct ieee80211_frame *wh;
/* mark previous frame */
- wh = mtod(last->bf_m, struct ieee80211_frame *);
+ wh = mtod(bf_last->bf_m, struct ieee80211_frame *);
wh->i_fc[1] |= IEEE80211_FC1_MORE_DATA;
- bus_dmamap_sync(sc->sc_dmat, last->bf_dmamap,
+ bus_dmamap_sync(sc->sc_dmat, bf_last->bf_dmamap,
BUS_DMASYNC_PREWRITE);
/* link descriptor */
- *txq->axq_link = bf->bf_daddr;
+ ath_hal_settxdesclink(sc->sc_ah,
+ bf_last->bf_lastds,
+ bf->bf_daddr);
}
ATH_TXQ_INSERT_TAIL(txq, bf, bf_list);
ath_hal_gettxdesclinkptr(sc->sc_ah, bf->bf_lastds, &txq->axq_link);
More information about the svn-src-head
mailing list