[patch 18/45] ath9k: fix dma mapping leak of rx buffer upon rmmod

From: Chris Wright
Date: Tue Mar 31 2009 - 19:27:30 EST


-stable review patch. If anyone has any objections, please let us know.
---------------------

From: Luis R. Rodriguez <lrodriguez@xxxxxxxxxxx>

upstream commit: 051b919188650fe4c93ca8701183ae88439388f6

We were claiming DMA buffers on the RX tasklet but never
upon a simple module removal.

Cc: stable@xxxxxxxxxx
Signed-off-by: FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx>
Signed-off-by: Luis R. Rodriguez <lrodriguez@xxxxxxxxxxx>
Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx>
[chrisw: backport to 2.6.29]
Signed-off-by: Chris Wright <chrisw@xxxxxxxxxxxx>
---
drivers/net/wireless/ath9k/recv.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

--- a/drivers/net/wireless/ath9k/recv.c
+++ b/drivers/net/wireless/ath9k/recv.c
@@ -322,8 +322,13 @@ void ath_rx_cleanup(struct ath_softc *sc

list_for_each_entry(bf, &sc->rx.rxbuf, list) {
skb = bf->bf_mpdu;
- if (skb)
+ if (skb) {
+ pci_unmap_single(sc->pdev,
+ bf->bf_buf_addr,
+ sc->rx.bufsize,
+ DMA_FROM_DEVICE);
dev_kfree_skb(skb);
+ }
}

if (sc->rx.rxdma.dd_desc_len != 0)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/