From owner-cvs-sys Tue Feb 18 12:01:47 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id MAA27427 for cvs-sys-outgoing; Tue, 18 Feb 1997 12:01:47 -0800 (PST) Received: (from gibbs@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id MAA27417; Tue, 18 Feb 1997 12:01:42 -0800 (PST) Date: Tue, 18 Feb 1997 12:01:42 -0800 (PST) From: "Justin T. Gibbs" Message-Id: <199702182001.MAA27417@freefall.freebsd.org> To: CVS-committers, cvs-all, cvs-sys Subject: cvs commit: src/sys/dev/aic7xxx aic7xxx.seq aic7xxx_reg.h src/sys/i386/scsi aic7xxx.c Sender: owner-cvs-sys@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk gibbs 97/02/18 12:01:40 Branch: sys/dev/aic7xxx RELENG_2_2 Modified: sys/dev/aic7xxx aic7xxx.seq aic7xxx_reg.h Log: Enlarge the message out buffer from 6 to 8 bytes. Now that sync and wide negotiation messages may be tagged, we were overrunning the old buffer. The variable that was getting squashed is updated before the message goes out, causing corrupted SDTR or WDTR messages. Depending on the phases traversed before message out, this could cause the wrong offset to be negotiated allowing data overruns to occur. The problem is easier to detect with wide targets on the chain since the allowed offset is smaller. Also removed the unnecessary clearing of SPIORDY during the message out phase. We don't rely on SPIORDY any more. Revision Changes Path 1.46.2.6 +0 -1 src/sys/dev/aic7xxx/aic7xxx.seq 1.15.2.4 +11 -17 src/sys/dev/aic7xxx/aic7xxx_reg.h Branch: sys/i386/scsi RELENG_2_2 Modified: sys/i386/scsi aic7xxx.c Log: Kill the initialization of two old scratch ram variables. They were removed to make space for the larger message buffer. Revision Changes Path 1.81.2.10 +0 -12 src/sys/i386/scsi/aic7xxx.c