| Index: chromeos/compat-wireless/drivers/net/wireless/ath/ath9k/xmit.c
|
| diff --git a/chromeos/compat-wireless/drivers/net/wireless/ath/ath9k/xmit.c b/chromeos/compat-wireless/drivers/net/wireless/ath/ath9k/xmit.c
|
| index e7b6a1444f756553bde6186c90381618b09809a4..28ebf65b8e667fd5bb6ae30f66e654108b7efb2f 100644
|
| --- a/chromeos/compat-wireless/drivers/net/wireless/ath/ath9k/xmit.c
|
| +++ b/chromeos/compat-wireless/drivers/net/wireless/ath/ath9k/xmit.c
|
| @@ -439,6 +439,8 @@ static void ath_tx_complete_aggr(struct ath_softc *sc, struct ath_txq *txq,
|
| BUG_ON(list_empty(bf_q));
|
| list_move_tail(&bf->list, &bf_head);
|
| }
|
| +
|
| + ath9k_pktlog_txcomplete(sc, &bf_head, bf, bf_last);
|
|
|
| if (!txpending || (tid->state & AGGR_CLEANUP)) {
|
| /*
|
| @@ -2089,7 +2091,7 @@ static void ath_tx_processq(struct ath_softc *sc, struct ath_txq *txq)
|
| ds = lastbf->bf_desc;
|
|
|
| memset(&ts, 0, sizeof(ts));
|
| - status = ath9k_hw_txprocdesc(ah, ds, &ts);
|
| + status = ath9k_hw_txprocdesc(ah, ds, &ts, NULL);
|
| if (status == -EINPROGRESS) {
|
| spin_unlock_bh(&txq->axq_lock);
|
| break;
|
| @@ -2140,10 +2142,14 @@ static void ath_tx_processq(struct ath_softc *sc, struct ath_txq *txq)
|
|
|
| qnum = skb_get_queue_mapping(bf->bf_mpdu);
|
|
|
| - if (bf_isampdu(bf))
|
| + if (bf_isampdu(bf)) {
|
| ath_tx_complete_aggr(sc, txq, bf, &bf_head, &ts, txok);
|
| - else
|
| + } else {
|
| + ath9k_pktlog_txctrl(sc, &bf_head, lastbf);
|
| ath_tx_complete_buf(sc, bf, txq, &bf_head, &ts, txok, 0);
|
| + }
|
| +
|
| + ath_pktlog_txstatus(sc, lastbf->bf_desc);
|
|
|
| if (txq == sc->tx.txq_map[qnum])
|
| ath_wake_mac80211_queue(sc, qnum);
|
| @@ -2217,9 +2223,11 @@ void ath_tx_edma_tasklet(struct ath_softc *sc)
|
| int status;
|
| int txok;
|
| int qnum;
|
| + u32 txs_desc[9];
|
|
|
| for (;;) {
|
| - status = ath9k_hw_txprocdesc(ah, NULL, (void *)&txs);
|
| + status = ath9k_hw_txprocdesc(ah, NULL, (void *)&txs,
|
| + (void *) txs_desc);
|
| if (status == -EINPROGRESS)
|
| break;
|
| if (status == -EIO) {
|
| @@ -2273,15 +2281,19 @@ void ath_tx_edma_tasklet(struct ath_softc *sc)
|
|
|
| qnum = skb_get_queue_mapping(bf->bf_mpdu);
|
|
|
| - if (bf_isampdu(bf))
|
| + if (bf_isampdu(bf)) {
|
| ath_tx_complete_aggr(sc, txq, bf, &bf_head, &txs, txok);
|
| - else
|
| + } else {
|
| + ath9k_pktlog_txctrl(sc, &bf_head, lastbf);
|
| ath_tx_complete_buf(sc, bf, txq, &bf_head,
|
| &txs, txok, 0);
|
| + }
|
|
|
| if (txq == sc->tx.txq_map[qnum])
|
| ath_wake_mac80211_queue(sc, qnum);
|
|
|
| + ath_pktlog_txstatus(sc, txs_desc);
|
| +
|
| spin_lock_bh(&txq->axq_lock);
|
| if (!list_empty(&txq->txq_fifo_pending)) {
|
| INIT_LIST_HEAD(&bf_head);
|
|
|