summaryrefslogtreecommitdiffstats
path: root/sys/dev/aha
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2004-11-12 00:46:52 +0000
committerimp <imp@FreeBSD.org>2004-11-12 00:46:52 +0000
commit4527d163738e015ea8f8927e0d2f4f2cc86da05f (patch)
tree59b6387f43f25f68d2d408612ad375ba45c38060 /sys/dev/aha
parenteba1da745d3acc5075ad2b3a0e0736ee9b4c9390 (diff)
downloadFreeBSD-src-4527d163738e015ea8f8927e0d2f4f2cc86da05f.zip
FreeBSD-src-4527d163738e015ea8f8927e0d2f4f2cc86da05f.tar.gz
Don't use aha after calling aha_free.
Diffstat (limited to 'sys/dev/aha')
-rw-r--r--sys/dev/aha/aha_isa.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/dev/aha/aha_isa.c b/sys/dev/aha/aha_isa.c
index 7215cb0..db4634a 100644
--- a/sys/dev/aha/aha_isa.c
+++ b/sys/dev/aha/aha_isa.c
@@ -247,29 +247,29 @@ aha_isa_attach(device_t dev)
/* lockfunc */ busdma_lock_mutex,
/* lockarg */ &Giant,
&aha->parent_dmat) != 0) {
- aha_free(aha);
bus_release_resource(dev, SYS_RES_IOPORT, aha->portrid, aha->port);
bus_release_resource(dev, SYS_RES_IRQ, aha->irqrid, aha->irq);
bus_release_resource(dev, SYS_RES_DRQ, aha->drqrid, aha->drq);
+ aha_free(aha);
return (ENOMEM);
}
if (aha_init(aha)) {
device_printf(dev, "init failed\n");
- aha_free(aha);
bus_release_resource(dev, SYS_RES_IOPORT, aha->portrid, aha->port);
bus_release_resource(dev, SYS_RES_IRQ, aha->irqrid, aha->irq);
bus_release_resource(dev, SYS_RES_DRQ, aha->drqrid, aha->drq);
+ aha_free(aha);
return (ENOMEM);
}
error = aha_attach(aha);
if (error) {
device_printf(dev, "attach failed\n");
- aha_free(aha);
bus_release_resource(dev, SYS_RES_IOPORT, aha->portrid, aha->port);
bus_release_resource(dev, SYS_RES_IRQ, aha->irqrid, aha->irq);
bus_release_resource(dev, SYS_RES_DRQ, aha->drqrid, aha->drq);
+ aha_free(aha);
return (error);
}
@@ -277,10 +277,10 @@ aha_isa_attach(device_t dev)
&ih);
if (error) {
device_printf(dev, "Unable to register interrupt handler\n");
- aha_free(aha);
bus_release_resource(dev, SYS_RES_IOPORT, aha->portrid, aha->port);
bus_release_resource(dev, SYS_RES_IRQ, aha->irqrid, aha->irq);
bus_release_resource(dev, SYS_RES_DRQ, aha->drqrid, aha->drq);
+ aha_free(aha);
return (error);
}
OpenPOWER on IntegriCloud