diff options
| author | David S. Miller <davem@davemloft.net> | 2009-07-09 20:18:24 -0700 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2009-07-09 20:18:24 -0700 |
| commit | e5a8a896f5180f2950695d2d0b79db348d200ca4 (patch) | |
| tree | 04adc57ae51a6d30a89ffae970770b81ee81fc23 /drivers/net/wireless/ath/ath9k/xmit.c | |
| parent | bff38771e1065c7fc3de87e47ba366151eea573c (diff) | |
| parent | e594e96e8a14101a6decabf6746bd5186287debc (diff) | |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/xmit.c')
| -rw-r--r-- | drivers/net/wireless/ath/ath9k/xmit.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath9k/xmit.c b/drivers/net/wireless/ath/ath9k/xmit.c index b61a071788a5..4ccf48e396df 100644 --- a/drivers/net/wireless/ath/ath9k/xmit.c +++ b/drivers/net/wireless/ath/ath9k/xmit.c @@ -355,7 +355,14 @@ static void ath_tx_complete_aggr(struct ath_softc *sc, struct ath_txq *txq, } if (bf_next == NULL) { - INIT_LIST_HEAD(&bf_head); + /* + * Make sure the last desc is reclaimed if it + * not a holding desc. + */ + if (!bf_last->bf_stale) + list_move_tail(&bf->list, &bf_head); + else + INIT_LIST_HEAD(&bf_head); } else { ASSERT(!list_empty(bf_q)); list_move_tail(&bf->list, &bf_head); |
