From owner-cvs-sys Tue Feb 18 11:53:33 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id LAA26853 for cvs-sys-outgoing; Tue, 18 Feb 1997 11:53:33 -0800 (PST) Received: (from gibbs@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id LAA26846; Tue, 18 Feb 1997 11:53:30 -0800 (PST) Date: Tue, 18 Feb 1997 11:53:30 -0800 (PST) From: "Justin T. Gibbs" Message-Id: <199702181953.LAA26846@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 11:53:29 Branch: sys/dev/aic7xxx RELENG_2_1_0 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.16.4.20 +1 -2 src/sys/dev/aic7xxx/aic7xxx.seq 1.2.2.11 +12 -18 src/sys/dev/aic7xxx/aic7xxx_reg.h Branch: sys/i386/scsi RELENG_2_1_0 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.29.2.30 +1 -13 src/sys/i386/scsi/aic7xxx.c