aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/airo.c
diff options
context:
space:
mode:
authorMichal Schmidt <mschmidt@redhat.com>2007-03-16 12:42:59 +0100
committerJohn W. Linville <linville@tuxdriver.com>2007-03-16 15:32:47 -0400
commit4d881901b8c2167884d213eb546ffffc9e5e35ac (patch)
treee69260491ca767fd622e61b16b37731c61fff689 /drivers/net/wireless/airo.c
parent21665a69e6c0c3e383eaef417f0ddbd16bdb69e3 (diff)
downloadlinux-4d881901b8c2167884d213eb546ffffc9e5e35ac.tar.gz
[PATCH] airo: Fix an error path memory leak
The airo driver leaks memory if request_irq() fails. Signed-off-by: Michal Schmidt <mschmidt@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/airo.c')
-rw-r--r--drivers/net/wireless/airo.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/wireless/airo.c b/drivers/net/wireless/airo.c
index a8c2bfe26c271..2ada76a93cb62 100644
--- a/drivers/net/wireless/airo.c
+++ b/drivers/net/wireless/airo.c
@@ -2852,7 +2852,7 @@ static struct net_device *_init_airo_card( unsigned short irq, int port,
if (rc) {
airo_print_err(dev->name, "register interrupt %d failed, rc %d",
irq, rc);
- goto err_out_unlink;
+ goto err_out_nets;
}
if (!is_pcmcia) {
if (!request_region( dev->base_addr, 64, dev->name )) {
@@ -2935,6 +2935,8 @@ err_out_res:
release_region( dev->base_addr, 64 );
err_out_irq:
free_irq(dev->irq, dev);
+err_out_nets:
+ airo_networks_free(ai);
err_out_unlink:
del_airo_dev(dev);
err_out_thr: