summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorgibbs <gibbs@FreeBSD.org>1996-11-07 06:39:44 +0000
committergibbs <gibbs@FreeBSD.org>1996-11-07 06:39:44 +0000
commite87ca66bb9d80209e28563e7dba5263da1ccc5a8 (patch)
tree2f6fb3e4301f9f143d07d113837af36bdef05559 /sys
parent1e3bcd873de11d3921c91615c0cae78b09c4e1b4 (diff)
downloadFreeBSD-src-e87ca66bb9d80209e28563e7dba5263da1ccc5a8.zip
FreeBSD-src-e87ca66bb9d80209e28563e7dba5263da1ccc5a8.tar.gz
Bzero the kernel scb array after it is allocated otherwise the control byte
used on the first transaction on an SCB is indeterminate. Spaces -> tabs.
Diffstat (limited to 'sys')
-rw-r--r--sys/i386/scsi/aic7xxx.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/i386/scsi/aic7xxx.c b/sys/i386/scsi/aic7xxx.c
index 277cc43..1605f2f 100644
--- a/sys/i386/scsi/aic7xxx.c
+++ b/sys/i386/scsi/aic7xxx.c
@@ -32,7 +32,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: aic7xxx.c,v 1.82 1996/11/05 07:57:26 gibbs Exp $
+ * $Id: aic7xxx.c,v 1.83 1996/11/05 08:39:33 gibbs Exp $
*/
/*
* TODO:
@@ -1940,6 +1940,8 @@ ahc_init(ahc)
"Failing attach\n");
return (-1);
}
+ /* At least the control byte of each hscb needs to be zeroed */
+ bzero(ahc->scb_data->hscbs, array_size);
/* Tell the sequencer where it can find the hscb array. */
hscb_physaddr = vtophys(ahc->scb_data->hscbs);
@@ -2090,8 +2092,8 @@ ahc_scsi_cmd(xs)
hscb->control |= MSG_ORDERED_Q_TAG;
ahc->orderedtag &= ~mask;
} else if (hscb->control & DISCENB) {
- if (ahc->tagenable & mask)
- hscb->control |= TAG_ENB;
+ if (ahc->tagenable & mask)
+ hscb->control |= TAG_ENB;
}
hscb->tcl = ((xs->sc_link->target << 4) & 0xF0)
| (IS_SCSIBUS_B(ahc,xs->sc_link)? SELBUSB : 0)
OpenPOWER on IntegriCloud