summaryrefslogtreecommitdiffstats
path: root/c/src/libchip/ide/ata.c
diff options
context:
space:
mode:
authorThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2007-01-21 18:25:31 +0000
committerThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2007-01-21 18:25:31 +0000
commit3d14a451e96ba84901eae5c140adb403116439f7 (patch)
treecbcfb83a20a165927f3043b4ed4679b9914ddfd6 /c/src/libchip/ide/ata.c
parent * mvme5500/Makefile.am, mvme5500/preinstall.am, (diff)
downloadrtems-3d14a451e96ba84901eae5c140adb403116439f7.tar.bz2
mproved gen5200 MSCAN driver
fixed synchronization bug between ata.c and bdbuf.c
Diffstat (limited to 'c/src/libchip/ide/ata.c')
-rw-r--r--c/src/libchip/ide/ata.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/c/src/libchip/ide/ata.c b/c/src/libchip/ide/ata.c
index 6c765262e7..abcd375c62 100644
--- a/c/src/libchip/ide/ata.c
+++ b/c/src/libchip/ide/ata.c
@@ -528,15 +528,16 @@ ata_request_done(ata_req_t *areq, rtems_device_minor_number ctrl_minor,
DISABLE_PREEMPTION(key);
ATA_EXEC_CALLBACK(areq, status, error);
Chain_Extract(&areq->link);
- free(areq);
if (!Chain_Is_empty(&ata_ide_ctrls[ctrl_minor].reqs))
{
ENABLE_PREEMPTION(key);
+ free(areq);
ata_process_request(ctrl_minor);
return;
}
ENABLE_PREEMPTION(key);
+ free(areq);
}
/* ata_non_data_request_done --