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
|
||||
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user