| From 0981c3b24ef664f5611008a6e6d0622fac6d892b Mon Sep 17 00:00:00 2001 |
| From: Sujith Manoharan <c_manoha@qca.qualcomm.com> |
| Date: Wed, 9 Jan 2013 16:07:48 +0530 |
| Subject: ath9k_htc: Fix memory leak |
| |
| From: Sujith Manoharan <c_manoha@qca.qualcomm.com> |
| |
| 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> |
| |
| --- |
| drivers/net/wireless/ath/ath9k/htc_hst.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| --- a/drivers/net/wireless/ath/ath9k/htc_hst.c |
| +++ b/drivers/net/wireless/ath/ath9k/htc_hst.c |
| @@ -344,6 +344,8 @@ void ath9k_htc_txcompletion_cb(struct ht |
| endpoint->ep_callbacks.tx(endpoint->ep_callbacks.priv, |
| skb, htc_hdr->endpoint_id, |
| txok); |
| + } else { |
| + kfree_skb(skb); |
| } |
| } |
| |