Subject: Re: 1.6 on IPC (tagged queuing bug still there)
To: Manuel Bouyer <bouyer@antioche.eu.org>
From: Ronald van der Pol <Ronald.vanderPol@rvdp.org>
List: port-sparc
Date: 09/08/2002 16:46:01
On Tue, Sep 03, 2002 at 21:55:33 +0200, Manuel Bouyer wrote:
> scsipi will think the adapter can do tagged queuing while that's not true.
> This one is probably better
>
> --- ncr53c9x.c.orig Tue Sep 3 21:53:54 2002
> +++ ncr53c9x.c Tue Sep 3 21:54:24 2002
> @@ -901,7 +901,8 @@
> ti->offset = 0;
>
> if ((sc->sc_cfflags & (1<<(xm->xm_target+16))) == 0 &&
> - (xm->xm_mode & PERIPH_CAP_TQING))
> + (xm->xm_mode & PERIPH_CAP_TQING) &&
> + (sc->sc_features & NCR_F_SELATN3) != 0)
> ti->flags |= T_TAG;
> else
> ti->flags &= ~T_TAG;
I have done this on a SPARCstation 1 with 1.6_RC1 and 1.6_RC3:
esp0 at sbus0 slot 0 offset 0x800000 level 3: ESP100, 25MHz, SCSI ID 7
sd0 at scsibus0 target 1 lun 0: <SEAGATE, ST32430N, 0510> SCSI2 0/direct fixed
It does not fix my disk problem. After running fine for some time the
disk is failing with a clicking sound and on the console:
sd0(esp0:0:1:0): esp0: timed out [ecb 0xf03f6000 (flags 0x1, dleft 2000,
stat 0)], <state 1, nexus 0x0, phase(l 10, c 100, p 7), resid 2000,
msg(q 0,o 0) >
Escaping to the boot prom and syncing gives:
dump sd0(esp0:0:1:0): esp0: timed out [ecb 0xf03f6038 (flags 0x3,
dleft 200, stat 0)], <state 1, nexus 0x0, phase(l 10, c 100, p 7),
resid 2000, msg(q 0,o 0) > sd0(esp0:0:1:0): esp0: timed out [ecb
0xf03f6038 (flags 0x43, dleft 200, stat 0)], <state 1, nexus 0x0,
phase(l 10, c 100, p 7), resid 2000, msg(q 0,o 0) > AGAIN
i/o error
sd0(esp0:0:1:0): failed to enqueue polling command, retrying...
sd0(esp0:0:1:0): failed to enqueue polling command, retrying...
sd0(esp0:0:1:0): failed to enqueue polling command, retrying...
sd0(esp0:0:1:0): failed to enqueue polling command, retrying...
sd0(esp0:0:1:0): failed to enqueue polling command, retrying...
sd0(esp0:0:1:0): failed to enqueue polling command, retrying...
sd0: cache synchronization failed
Any ideas?
rvdp