rtlwifi: Fix IOMMU mapping leak in AP mode
authorLarry Finger <Larry.Finger@lwfinger.net>
Sat, 21 Mar 2015 20:16:05 +0000 (15:16 -0500)
committerKalle Valo <kvalo@codeaurora.org>
Sun, 22 Mar 2015 05:52:25 +0000 (07:52 +0200)
commitbe0b5e635883678bfbc695889772fed545f3427d
tree7d43fedefa36a0a82bbdb68874872190e861d5da
parentf93a25b38cbd840f26c9fd2dd8a6611a57b259b7
rtlwifi: Fix IOMMU mapping leak in AP mode

Transmission of an AP beacon does not call the TX interrupt service routine,
which usually does the cleanup. Instead, cleanup is handled in a tasklet
completion routine. Unfortunately, this routine has a serious bug in that it does
not release the DMA mapping before it frees the skb, thus one IOMMU mapping is
leaked for each beacon. The test system failed with no free IOMMU mapping slots
approximately one hour after hostapd was used to start an AP.

This issue was reported and tested at https://github.com/lwfinger/rtlwifi_new/issues/30.

Reported-and-tested-by: Kevin Mullican <kevin@mullican.com>
Cc: Kevin Mullican <kevin@mullican.com>
Signed-off-by: Shao Fu <shaofu@realtek.com>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Stable <stable@vger.kernel.org> [3.18+]
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/rtlwifi/pci.c