diff options
author | John W. Linville <linville@tuxdriver.com> | 2011-02-18 17:03:41 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-02-18 17:03:41 -0500 |
commit | b67afe7f43afd2f5cd98798993561920c1684c12 (patch) | |
tree | e45a0e41c91a1d199fd865b011ed0d25f5497bb9 /drivers/net/wireless/ath/ath9k/xmit.c | |
parent | db28569adc692d9fb8a2d2d8e7ebab7fd5481f10 (diff) | |
parent | 28bec7b845e10b68e6ba1ade5de0fc566690fc61 (diff) |
Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
Conflicts:
drivers/bluetooth/ath3k.c
drivers/bluetooth/btusb.c
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/xmit.c')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/xmit.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath9k/xmit.c b/drivers/net/wireless/ath/ath9k/xmit.c index 8d89aa958f1..bc614acb96d 100644 --- a/drivers/net/wireless/ath/ath9k/xmit.c +++ b/drivers/net/wireless/ath/ath9k/xmit.c @@ -1753,6 +1753,9 @@ static void ath_tx_start_dma(struct ath_softc *sc, struct ath_buf *bf, ar9003_hw_set_paprd_txdesc(sc->sc_ah, bf->bf_desc, bf->bf_state.bfs_paprd); + if (txctl->paprd) + bf->bf_state.bfs_paprd_timestamp = jiffies; + ath_tx_send_normal(sc, txctl->txq, tid, &bf_head); } @@ -1910,7 +1913,9 @@ static void ath_tx_complete_buf(struct ath_softc *sc, struct ath_buf *bf, bf->bf_buf_addr = 0; if (bf->bf_state.bfs_paprd) { - if (!sc->paprd_pending) + if (time_after(jiffies, + bf->bf_state.bfs_paprd_timestamp + + msecs_to_jiffies(ATH_PAPRD_TIMEOUT))) dev_kfree_skb_any(skb); else complete(&sc->paprd_complete); |