From: Will Dyson <[EMAIL PROTECTED]>

When doing setup for the dma ring, the txhdr_cache must be freed if there is an
error after it is allocated.

Signed-off-by: Will Dyson <[EMAIL PROTECTED]>
---
 .../net/wireless/mac80211/bcm43xx/bcm43xx_dma.c    |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/mac80211/bcm43xx/bcm43xx_dma.c 
b/drivers/net/wireless/mac80211/bcm43xx/bcm43xx_dma.c
index 4abc6c8..1dc95a7 100644
--- a/drivers/net/wireless/mac80211/bcm43xx/bcm43xx_dma.c
+++ b/drivers/net/wireless/mac80211/bcm43xx/bcm43xx_dma.c
@@ -777,7 +777,7 @@ struct bcm43xx_dmaring * bcm43xx_setup_dmaring(struct 
bcm43xx_wldev *dev,
 
        err = alloc_ringmemory(ring);
        if (err)
-               goto err_kfree_meta;
+               goto err_kfree_txhdr_cache;
        err = dmacontroller_setup(ring);
        if (err)
                goto err_free_ringmemory;
@@ -787,6 +787,8 @@ out:
 
 err_free_ringmemory:
        free_ringmemory(ring);
+err_kfree_txhdr_cache:
+       kfree(ring->txhdr_cache);
 err_kfree_meta:
        kfree(ring->meta);
 err_kfree_ring:
-- 
1.5.0.3

_______________________________________________
Bcm43xx-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev

Reply via email to