diff options
author | Dan Carpenter <error27@gmail.com> | 2010-05-14 10:52:37 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-05-24 15:07:42 -0400 |
commit | 7606688afc767c0b94bb2d79512affe3ba1264ce (patch) | |
tree | b7b90b53d3a525cf1abe59eaee4942f344b896e0 | |
parent | 690e781c5a3241d2366a3120ca410162da9c365e (diff) |
ath9k_htc: rare leak in ath9k_hif_usb_alloc_tx_urbs()
This is obviously a small picky thing. The original error handling code
doesn't free the most recent allocations which haven't been added to the
hif_dev->tx.tx_buf list yet.
Signed-off-by: Dan Carpenter <error27@gmail.com>
Acked-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | drivers/net/wireless/ath/ath9k/hif_usb.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/hif_usb.c b/drivers/net/wireless/ath/ath9k/hif_usb.c index ac82911ee609..77b359162d6c 100644 --- a/drivers/net/wireless/ath/ath9k/hif_usb.c +++ b/drivers/net/wireless/ath/ath9k/hif_usb.c | |||
@@ -609,6 +609,10 @@ static int ath9k_hif_usb_alloc_tx_urbs(struct hif_device_usb *hif_dev) | |||
609 | 609 | ||
610 | return 0; | 610 | return 0; |
611 | err: | 611 | err: |
612 | if (tx_buf) { | ||
613 | kfree(tx_buf->buf); | ||
614 | kfree(tx_buf); | ||
615 | } | ||
612 | ath9k_hif_usb_dealloc_tx_urbs(hif_dev); | 616 | ath9k_hif_usb_dealloc_tx_urbs(hif_dev); |
613 | return -ENOMEM; | 617 | return -ENOMEM; |
614 | } | 618 | } |