Date: Sun, 2 May 2010 12:40:54 +0000 (UTC) From: Alexander Motin <mav@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r207503 - stable/8/sys/dev/ata Message-ID: <201005021240.o42CesMe060472@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: mav Date: Sun May 2 12:40:54 2010 New Revision: 207503 URL: http://svn.freebsd.org/changeset/base/207503 Log: MFC r207221: Mark ATA channel as idle on timeout in non-ATA_CAM mode. This should fix possible duplicate request completion. Modified: stable/8/sys/dev/ata/ata-queue.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) stable/8/sys/geom/sched/ (props changed) Modified: stable/8/sys/dev/ata/ata-queue.c ============================================================================== --- stable/8/sys/dev/ata/ata-queue.c Sun May 2 12:39:29 2010 (r207502) +++ stable/8/sys/dev/ata/ata-queue.c Sun May 2 12:40:54 2010 (r207503) @@ -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?201005021240.o42CesMe060472>