Staging: rtl8192e: fix IOMMU memory leak
commit43f88d530ec656d9b556fb0d127b30757b1c3d35
authorDaniel Lichtenberger <daniel.lichtenberger@gmail.com>
Thu, 28 Oct 2010 21:20:12 +0000 (28 23:20 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 9 Nov 2010 22:05:23 +0000 (9 14:05 -0800)
treeba8eb4e133fff45d25299f345223570409f2b6d4
parenteacd121c3d0b74220aa6a91223e0adf7d5ec2497
Staging: rtl8192e: fix IOMMU memory leak

Unmap the rx buffer before mapping the new one in rtl8192_rx.

Failing to do so quickly exhausts the IOMMU memory during downloads:

[...] DMA: Out of SW-IOMMU space for 9100 bytes at device ...

Using "iommu=off mem=4g" also fixes the problem because
then pci_map_single does not allocate memory.

Tested on my personal laptop with a RTL8192E device. Without this
patch the kernel quickly runs out of IOMMU memory (downloading 5 MB
of data is sufficient to trigger it), with this patch applied
I haven't experienced any issues so far.

Signed-off-by: Daniel Lichtenberger <daniel.lichtenberger@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/rtl8192e/r8192E_core.c