Search Linux Wireless

Re: [PATCH v2] ath9k: fix dma mapping leak of rx buffer upon rmmod

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 23 Mar 2009 18:25:01 -0400
"Luis R. Rodriguez" <lrodriguez@xxxxxxxxxxx> wrote:

> 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>
> ---
> 
> Sorry, forgot to CC stable
> 
>  drivers/net/wireless/ath9k/recv.c |    7 ++++++-
>  1 files changed, 6 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/net/wireless/ath9k/recv.c b/drivers/net/wireless/ath9k/recv.c
> index 917bac7..71cb18d 100644
> --- a/drivers/net/wireless/ath9k/recv.c
> +++ b/drivers/net/wireless/ath9k/recv.c
> @@ -344,8 +344,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) {
> +			dma_unmap_single(sc->dev,
> +					 bf->bf_buf_addr,
> +					 sc->rx.bufsize,
> +					 DMA_FROM_DEVICE);
>  			dev_kfree_skb(skb);
> +		}
>  	}

ath9k uses pci_map/unmap_* families so using dma_map/unmap looks
inconsistent. It works though.

I think that my original patch is fine:

http://marc.info/?l=linux-kernel&m=123725029228065&w=2
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux