Date: Mon, 26 Apr 2010 11:58:15 +0000 (UTC) From: Alexander Motin <mav@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r207221 - head/sys/dev/ata Message-ID: <201004261158.o3QBwFDA075788@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201004261158.o3QBwFDA075788>