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
--