From owner-cvs-all Mon Mar 19 20:38:46 2001 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 6B54337B723; Mon, 19 Mar 2001 20:38:37 -0800 (PST) (envelope-from gibbs@FreeBSD.org) Received: (from gibbs@localhost) by freefall.freebsd.org (8.11.1/8.11.1) id f2K4bOa67953; Mon, 19 Mar 2001 20:37:24 -0800 (PST) (envelope-from gibbs) Message-Id: <200103200437.f2K4bOa67953@freefall.freebsd.org> From: "Justin T. Gibbs" Date: Mon, 19 Mar 2001 20:37:20 -0800 (PST) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/dev/aic7xxx aic7xxx.seq X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG gibbs 2001/03/19 20:37:20 PST Modified files: sys/dev/aic7xxx aic7xxx.seq Log: This is an MFC candidate. In our idle loop, use an or instruction to set PRELOADEN rather than rewriting the contents of DMAPARAMS to DFCNTRL. The later may re-enable the DMA engine if the idle loop is called to complete the preload of at least one segment when a target disconnects on an S/G segment boundary but before we have completed fetching the next segment. This correts a hang, usually in message out phase, when this situation occurs. This bug has been here for a long time, so the situation is rare, but not impossible to reproduce. It only affected Ultra2/U160 controllers. Correct a few comments. Extra Sanity. Make sure that SCSIEN is also turned off, along with HDMAEN, at the end of the data phase. Revision Changes Path 1.115 +7 -8 src/sys/dev/aic7xxx/aic7xxx.seq To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message