diff options
author | John W. Linville <linville@tuxdriver.com> | 2011-09-28 10:28:09 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-09-28 10:28:09 -0400 |
commit | 0874073570d9184a169a4ae2abbe8dbcb71878e9 (patch) | |
tree | 81af47abc50641f911e3b5833850357a48a82be8 /drivers/net/wireless/ath/ath9k/recv.c | |
parent | cd32984f64cb4fdd84e33f30da1f10582fc43cbf (diff) | |
parent | ba54238552625aad2d75f455a4d3db18ea7dec68 (diff) |
Merge branch 'master' of git://git.infradead.org/users/linville/wireless
Conflicts:
drivers/net/wireless/iwlwifi/iwl-scan.c
net/wireless/nl80211.c
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/recv.c')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/recv.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c index bcc0b222ec1..49843500fe7 100644 --- a/drivers/net/wireless/ath/ath9k/recv.c +++ b/drivers/net/wireless/ath/ath9k/recv.c @@ -205,14 +205,22 @@ static void ath_rx_remove_buffer(struct ath_softc *sc, static void ath_rx_edma_cleanup(struct ath_softc *sc) { + struct ath_hw *ah = sc->sc_ah; + struct ath_common *common = ath9k_hw_common(ah); struct ath_buf *bf; ath_rx_remove_buffer(sc, ATH9K_RX_QUEUE_LP); ath_rx_remove_buffer(sc, ATH9K_RX_QUEUE_HP); list_for_each_entry(bf, &sc->rx.rxbuf, list) { - if (bf->bf_mpdu) + if (bf->bf_mpdu) { + dma_unmap_single(sc->dev, bf->bf_buf_addr, + common->rx_bufsize, + DMA_BIDIRECTIONAL); dev_kfree_skb_any(bf->bf_mpdu); + bf->bf_buf_addr = 0; + bf->bf_mpdu = NULL; + } } INIT_LIST_HEAD(&sc->rx.rxbuf); |