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:
parent
c867e93fae
commit
cff0f6b1e4
@ -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
|
* Copyright (c) 1992, 1993
|
||||||
@ -753,10 +753,6 @@ asc_startcmd(asc, target)
|
|||||||
asc_logp = asc_log;
|
asc_logp = asc_log;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* preload the FIFO with the message to be sent */
|
|
||||||
regs->asc_fifo = SCSI_DIS_REC_IDENTIFY;
|
|
||||||
tc_mb();
|
|
||||||
|
|
||||||
/* initialize the DMA */
|
/* initialize the DMA */
|
||||||
len = (*asc->dma_start)(asc, state, scsicmd->cmd, ASCDMA_WRITE,
|
len = (*asc->dma_start)(asc, state, scsicmd->cmd, ASCDMA_WRITE,
|
||||||
len, 0);
|
len, 0);
|
||||||
@ -777,6 +773,10 @@ asc_startcmd(asc, target)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* preload the FIFO with the message to be sent */
|
||||||
|
regs->asc_fifo = SCSI_DIS_REC_IDENTIFY;
|
||||||
|
tc_mb();
|
||||||
|
|
||||||
if (state->flags & TRY_SYNC)
|
if (state->flags & TRY_SYNC)
|
||||||
regs->asc_cmd = len = ASC_CMD_SEL_ATN_STOP;
|
regs->asc_cmd = len = ASC_CMD_SEL_ATN_STOP;
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user