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.
This commit is contained in:
mhitch 1999-06-13 17:21:29 +00:00
parent c867e93fae
commit cff0f6b1e4

View File

@ -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_startcmd(asc, target)
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 @@ asc_startcmd(asc, target)
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