Subject: Re: more PC164+NCR boot problems
To: None <jc@joerch.org>
From: None <Havard.Eidnes@runit.sintef.no>
List: port-alpha
Date: 08/25/1999 13:39:16
> The changes in the driver are indeed small and maybe it's not
> even the driver's fault but scsipi's.
>
> I was able to fix it in dev/pci/ncr.c though: In 1.4 there's
> support for relaying SCSI sense data to scsipi in the ncr
> driver.  Sense data with key "no sense" gets no special
> treatment in ncr.c, but in scsipi_base.c it results in EIO.
>
> This patch to dev/pci/ncr.c solved it for me:
>
> ========== snip here ==========
> --- ncr.c.ORIG	Sun Dec 13 01:11:37 1998
> +++ ncr.c	Thu Jul 29 20:52:29 1999
> @@ -5114,6 +5114,15 @@
>  	};
>  
>  	/*
> +	**	Treat "no sense" as plain "good"
> +	*/
> +	if ((cp->host_status == HS_COMPLETE)
> +		&& (cp->scsi_status == (S_SENSE|S_GOOD))
> +		&& ((cp->sense_data.flags & SSD_KEY) == SKEY_NO_SENSE)) {
> +		cp->scsi_status &= ~S_SENSE;
> +	}
> +
> +	/*
>  	**	Check the status.
>  	*/
>  #ifdef __NetBSD__
> ========== snip here ==========

This fixed the problem I wrote about the other day under the
heading of "Re: pc164/ncr scsi problems".  My driver now has the
patch from Matt Thomas with the extra initialization and the
patch above, and now it finally boots cleanly with no need for
manual intervention.

Thanks!

- Havard