Subject: Re: aic -- sdX: not queued, error 5
To: Manuel Bouyer <bouyer@antioche.lip6.fr>
From: Aaron J. Grier <agrier@poofygoof.com>
List: port-i386
Date: 06/10/2000 21:20:26
On Mon, May 22, 2000 at 05:43:45PM +0200, Manuel Bouyer wrote:
> On Sun, May 21, 2000 at 10:59:50PM -0700, Aaron J. Grier wrote:
> > I have a 486/33 with an adaptec 1522 SCSI controller (aic driver) and
> > some old crufty drives [1] hooked to it.  occationally during heavy disk
> > activity, I get four 'sd0: not queued, error 5' messages on the console,
> > and then the machine wedges.
> 
> 5 is EIO, looks strange in this part of the code.
> I suspect the problem is around line 577 of aic6360.c:
>         flags = xs->xs_control;
>         if ((acb = aic_get_acb(sc, flags)) == NULL) {
>                 xs->error = XS_DRIVER_STUFFUP;
>                 return TRY_AGAIN_LATER;
>         }
> 
> This is not well handled by scsipi. Could you add a printf() here to
> confirm it's this ?

I added the printf in the above section of code, and now I get:

aic0: aic_get_acb returned NULL
aic0: aic_get_acb returned NULL
aic0: aic_get_acb returned NULL
aic0: aic_get_acb returned NULL
aic0: aic_get_acb returned NULL
sd0: not queued, error 5

unfortunately I cannot generate a dump since the controller is
effectively wedged.  :(

any ideas on how to fix?

-- 
  Aaron J. Grier | "Not your ordinary poofy goof." | agrier@poofygoof.com