Subject: Re: CVS commit: src/sys/dev/scsipi
To: Manuel Bouyer <bouyer@netbsd.org>
From: Bill Studenmund <wrstuden@netbsd.org>
List: tech-kern
Date: 05/01/2004 22:04:16
--Nq2Wo0NMKNjxTN9z
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Apr 27, 2004 at 06:15:37PM +0000, Manuel Bouyer wrote:
>=20
> Module Name:	src
> Committed By:	bouyer
> Date:		Tue Apr 27 18:15:37 UTC 2004
>=20
> Modified Files:
> 	src/sys/dev/scsipi: scsipi_base.c
>=20
> Log Message:
> Revert part of 1.102:
> Don't decrease/check xs_retries when the device report "Power On, Reset, =
or
> Bus Device Reset" sense condition, just retry the command. The initial bus
> reset would cause the first TEST_UNIT_READY to report this condition,
> and as xs_retries is set to 0 when XS_CTL_DISCOVERY is set, it would repo=
rt an
> error instead of being retried, causing the disk probe to report "drive
> offline" instead of the geometry and capacity. Checking/decreasing
> xs_retries on the bus reset reported by the adapter is enouth to avoid the
> problem reported by rev 1.102.
>=20
> Problem analysed by Paul Kranenburg, fix confirmed by Anders Hjalmars,
> and explaination as to why the INQUIRY wasn't affected by this provided by
> Bill Studenmund.

I think we need to do more with this code. I think we should change the=20
test to do the same thing for all ascq <=3D 0x07, not just =3D=3D 0x00. The=
=20
prefered behavior on reset now is to return either 0x29/0x01 (device=20
reset) or 0x29/0x07 (I_T Nexus Loss) for the first command. The difference=
=20
is if you know you lost the I_T Nexus, you do 0x29/0x07, otherwise you do=
=20
0x29/0x01.

Thoughts?

Take care,

Bill

--Nq2Wo0NMKNjxTN9z
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (NetBSD)

iD8DBQFAlIFQWz+3JHUci9cRAkU3AJ4g8vBMmdrIY/ZPCIxczEKoWNcH5QCeKhxw
5XQHzzCpRI4I2Gp7eDo2DBo=
=kKzF
-----END PGP SIGNATURE-----

--Nq2Wo0NMKNjxTN9z--