diff options
author | Arnd Bergmann <arnd@arndb.de> | 2011-10-20 18:32:02 +0200 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2011-10-20 18:32:02 +0200 |
commit | 91056a63a7d8dbc817747a22d9a9490463323575 (patch) | |
tree | a220d265d01075c05f4cd35d998e65849bb47bc8 /drivers/net/wireless/ath/ath9k/recv.c | |
parent | 05d900c9d8ce536c6792efb323c82b1c97b54bf9 (diff) | |
parent | f2d8df92f69b8c719ca1a46d2615b168b2cc9cdf (diff) | |
download | kernel_replicant_linux-91056a63a7d8dbc817747a22d9a9490463323575.tar.gz kernel_replicant_linux-91056a63a7d8dbc817747a22d9a9490463323575.tar.bz2 kernel_replicant_linux-91056a63a7d8dbc817747a22d9a9490463323575.zip |
Merge branch 'imx-cleanups-for-arnd' of git://git.pengutronix.de/git/imx/linux-2.6 into imx/cleanup
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 9a4850154fb2..4c21f8cbdeb5 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); |