Subject: Re: CVS commit: syssrc [thorpej_scsipi]
To: Jason R Thorpe <thorpej@zembu.com>
From: Manuel Bouyer <bouyer@antioche.lip6.fr>
List: tech-kern
Date: 04/03/2001 10:59:22
On Mon, Apr 02, 2001 at 10:39:47AM -0700, Jason R Thorpe wrote:
> On Mon, Apr 02, 2001 at 07:59:01PM +0300, Manuel BOUYER wrote:
>
> > Module Name: syssrc
> > Committed By: bouyer
> > Date: Mon Apr 2 16:59:01 UTC 2001
> >
> > Modified Files:
> > syssrc/sys/dev/ic [thorpej_scsipi]: aic7xxx.c
> >
> > Log Message:
> > Use the tag type passed from upper level. Tag number is still handled locally
> > as they're allocated statically to ccbs.
>
> This is a little gross, and has to change.
>
> If a CCB happens to have a tag that is "too large" for a buggy drive,
> then any time that CCB is used, the command will fail, regardless if
> the queue on the drive is really full.
>
> The driver needs to be fixed to use the tag number specified by the
> midlayer, which uses a tag allocation algorithm that always uses the
> smallest tag value possible, to avoid this bug that appears in some
> drives (some HP drives, in particular, seem to be plagued by this).
I looked a bit at this, and this involves important changes to the driver,
including the microcode. I don't want to go there.
Note that it's not worse in the branch than in the trunk :)
Maybe I need to keep the options "AHC_NOTAG" around, though ...
--
Manuel Bouyer, LIP6, Universite Paris VI. Manuel.Bouyer@lip6.fr
--