From: Luis R. Rodriguez Date: Sat, 28 Mar 2009 01:45:02 +0000 (+0000) Subject: ath9k: fix dma mapping leak of rx buffer upon rmmod X-Git-Tag: v2.6.29.1~29 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fb2d617e4b8ac0a2c07643a3a6299409692f8003;p=thirdparty%2Fkernel%2Fstable.git ath9k: fix dma mapping leak of rx buffer upon rmmod upstream commit: 051b919188650fe4c93ca8701183ae88439388f6 We were claiming DMA buffers on the RX tasklet but never upon a simple module removal. Cc: stable@kernel.org Signed-off-by: FUJITA Tomonori Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville [chrisw: backport to 2.6.29] Signed-off-by: Chris Wright --- diff --git a/drivers/net/wireless/ath9k/recv.c b/drivers/net/wireless/ath9k/recv.c index 462e08c3d09dc..c114cb7c24061 100644 --- 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)