Subject: Re: ncr (53c810ae) driver still wonky.
To: None <email@example.com>
From: Aaro J Koskinen <firstname.lastname@example.org>
Date: 02/27/2000 19:07:14
Darren Reed wrote:
> Booting a -current kernel on my alpha/pc164 with a 53c810ae, I tried
> out the ncr driver with a Fujitsu M2909S-512 driver. I still see lots
> of error messages at bootup - error messages I don't see when I attach
> the same drive to an adaptec (2940) card. Does anyone have any clues
> about how to fix this ?
This is just a guess, but here goes...
I once got the same messages on a NetBSD 1.3 based system. I managed to
track down the problem to an uninitialized field in the scsipi_xfer
struct. I took a quick look at the -current SCSI code and it looks like
the problem is still there:
scsipi_make_xs() does not initialize the xs->req_sense_length field.
Since xs's are never bzeroed after they have been allocated or re-used
this field may contain a garbage value. The NCR driver will use the
value of this field when it performs the REQUEST SENSE command (done
automatically whenever there's a check condition on a target, e.g.
after a bus reset). If the target transfers a different amount of sense
data than requested, the driver generates the "extraneous data
Quick fix is to set xs->req_sense_length to 0 in scsipi_make_xs(). Then
the NCR driver uses a default sense data length.
> probe(ncr0:0:0): extraneous data discarded.
> probe(ncr0:0:0): COMMAND FAILED (9 80) @0xfffffe000002d000.
Aaro Koskinen, email@example.com, http://www.iki.fi/aaro