Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 134162
b: refs/heads/master
c: 6ef9b13
h: refs/heads/master
v: v3
  • Loading branch information
Sujith authored and John W. Linville committed Jan 29, 2009
1 parent dbe9ed0 commit a545e38
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 9 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 059d806cdcad3848582519f0546cf8b3bfede7a3
refs/heads/master: 6ef9b13db24757a9856f2feb1e571f34938567c9
19 changes: 11 additions & 8 deletions trunk/drivers/net/wireless/ath9k/xmit.c
Original file line number Diff line number Diff line change
Expand Up @@ -2082,16 +2082,23 @@ static void ath_tx_processq(struct ath_softc *sc, struct ath_txq *txq)
if (bf->bf_status & ATH_BUFSTATUS_STALE) {
bf_held = bf;
if (list_is_last(&bf_held->list, &txq->axq_q)) {
/* FIXME:
txq->axq_link = NULL;
txq->axq_linkbuf = NULL;
spin_unlock_bh(&txq->axq_lock);

/*
* The holding descriptor is the last
* descriptor in queue. It's safe to remove
* the last holding descriptor in BH context.
*/
spin_unlock_bh(&txq->axq_lock);
spin_lock_bh(&sc->tx.txbuflock);
list_move_tail(&bf_held->list, &sc->tx.txbuf);
spin_unlock_bh(&sc->tx.txbuflock);

break;
} else {
bf = list_entry(bf_held->list.next,
struct ath_buf, list);
struct ath_buf, list);
}
}

Expand All @@ -2115,24 +2122,20 @@ static void ath_tx_processq(struct ath_softc *sc, struct ath_txq *txq)
*/
lastbf->bf_status |= ATH_BUFSTATUS_STALE;
INIT_LIST_HEAD(&bf_head);

if (!list_is_singular(&lastbf->list))
list_cut_position(&bf_head,
&txq->axq_q, lastbf->list.prev);

txq->axq_depth--;

if (bf_isaggr(bf))
txq->axq_aggr_depth--;

txok = (ds->ds_txstat.ts_status == 0);

spin_unlock_bh(&txq->axq_lock);

if (bf_held) {
list_del(&bf_held->list);
spin_lock_bh(&sc->tx.txbuflock);
list_add_tail(&bf_held->list, &sc->tx.txbuf);
list_move_tail(&bf_held->list, &sc->tx.txbuf);
spin_unlock_bh(&sc->tx.txbuflock);
}

Expand Down

0 comments on commit a545e38

Please sign in to comment.