svn commit: r207221 - head/sys/dev/ata
Alexander Motin
mav at FreeBSD.org
Mon Apr 26 11:58:16 UTC 2010
Author: mav
Date: Mon Apr 26 11:58:15 2010
New Revision: 207221
URL: http://svn.freebsd.org/changeset/base/207221
Log:
Mark ATA channel as idle on timeout in non-ATA_CAM mode.
This should fix possible duplicate request completion.
Submitted by: mjacob
Modified:
head/sys/dev/ata/ata-queue.c
Modified: head/sys/dev/ata/ata-queue.c
==============================================================================
--- head/sys/dev/ata/ata-queue.c Mon Apr 26 04:32:29 2010 (r207220)
+++ head/sys/dev/ata/ata-queue.c Mon Apr 26 11:58:15 2010 (r207221)
@@ -513,9 +513,9 @@ ata_timeout(struct ata_request *request)
request->flags |= ATA_R_TIMEOUT;
if (ch->dma.unload)
ch->dma.unload(request);
-#ifdef ATA_CAM
ch->running = NULL;
ch->state = ATA_IDLE;
+#ifdef ATA_CAM
ata_cam_end_transaction(ch->dev, request);
#endif
mtx_unlock(&ch->state_mtx);
More information about the svn-src-head
mailing list