aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorSujith Manoharan <c_manoha@qca.qualcomm.com>2013-01-09 16:07:48 +0530
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-02-03 18:21:37 -0600
commita2e1c3918e77ad6a13b43cb04e3cfe19f55d8cd0 (patch)
treedd49628dbbdcb8c2dbf824bc889894a63f3c670f /drivers/net/wireless
parentafd2d0e726252844755e85262cdd00ab31fc29ec (diff)
downloadkernel_samsung_smdk4412-a2e1c3918e77ad6a13b43cb04e3cfe19f55d8cd0.zip
kernel_samsung_smdk4412-a2e1c3918e77ad6a13b43cb04e3cfe19f55d8cd0.tar.gz
kernel_samsung_smdk4412-a2e1c3918e77ad6a13b43cb04e3cfe19f55d8cd0.tar.bz2
ath9k_htc: Fix memory leak
commit 0981c3b24ef664f5611008a6e6d0622fac6d892b upstream. SKBs that are allocated in the HTC layer do not have callbacks registered and hence ended up not being freed, Fix this by freeing them properly in the TX completion routine. Reported-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Tested-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/ath/ath9k/htc_hst.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/htc_hst.c b/drivers/net/wireless/ath/ath9k/htc_hst.c
index 1b90ed8..4f7843a 100644
--- a/drivers/net/wireless/ath/ath9k/htc_hst.c
+++ b/drivers/net/wireless/ath/ath9k/htc_hst.c
@@ -342,6 +342,8 @@ void ath9k_htc_txcompletion_cb(struct htc_target *htc_handle,
endpoint->ep_callbacks.tx(endpoint->ep_callbacks.priv,
skb, htc_hdr->endpoint_id,
txok);
+ } else {
+ kfree_skb(skb);
}
}