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);
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to