diff options
| -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, | |||
| 355 | } | 355 | } |
| 356 | 356 | ||
| 357 | if (bf_next == NULL) { | 357 | if (bf_next == NULL) { |
| 358 | INIT_LIST_HEAD(&bf_head); | 358 | /* |
| 359 | * Make sure the last desc is reclaimed if it | ||
| 360 | * not a holding desc. | ||
| 361 | */ | ||
| 362 | if (!bf_last->bf_stale) | ||
| 363 | list_move_tail(&bf->list, &bf_head); | ||
| 364 | else | ||
| 365 | INIT_LIST_HEAD(&bf_head); | ||
| 359 | } else { | 366 | } else { |
| 360 | ASSERT(!list_empty(bf_q)); | 367 | ASSERT(!list_empty(bf_q)); |
| 361 | list_move_tail(&bf->list, &bf_head); | 368 | list_move_tail(&bf->list, &bf_head); |
