Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/dev/tc Don't pre-load the identify message into the fifo...



details:   https://anonhg.NetBSD.org/src/rev/3eb946a6897e
branches:  trunk
changeset: 473662:3eb946a6897e
user:      mhitch <mhitch%NetBSD.org@localhost>
date:      Sun Jun 13 17:21:29 1999 +0000

description:
Don't pre-load the identify message into the fifo just just before the command register
is written.  This significantly reduces, if not eliminates, the problem reported in
PR#5510.  It stops the problem on my 5000/200, and two other people have verified that
it fixes the problem on their 5000/200s.  I'm waiting for confirmation from the PR
originator before closing the PR.

diffstat:

 sys/dev/tc/asc.c |  10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diffs (31 lines):

diff -r 62bbbf1b631f -r 3eb946a6897e sys/dev/tc/asc.c
--- a/sys/dev/tc/asc.c  Sun Jun 13 17:21:18 1999 +0000
+++ b/sys/dev/tc/asc.c  Sun Jun 13 17:21:29 1999 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: asc.c,v 1.53 1999/04/25 03:02:05 simonb Exp $  */
+/*     $NetBSD: asc.c,v 1.54 1999/06/13 17:21:29 mhitch Exp $  */
 
 /*-
  * Copyright (c) 1992, 1993
@@ -753,10 +753,6 @@
                asc_logp = asc_log;
 #endif
 
-       /* preload the FIFO with the message to be sent */
-       regs->asc_fifo = SCSI_DIS_REC_IDENTIFY;
-       tc_mb();
-
        /* initialize the DMA */
        len = (*asc->dma_start)(asc, state, scsicmd->cmd, ASCDMA_WRITE,
           len, 0);
@@ -777,6 +773,10 @@
                return;
        }
 
+       /* preload the FIFO with the message to be sent */
+       regs->asc_fifo = SCSI_DIS_REC_IDENTIFY;
+       tc_mb();
+
        if (state->flags & TRY_SYNC)
                regs->asc_cmd = len = ASC_CMD_SEL_ATN_STOP;
        else



Home | Main Index | Thread Index | Old Index