Subject: Re: powerhooks and SCSI disks
To: Jason Thorpe <thorpej@shagadelic.org>
From: Michael Lorenz <macallan@netbsd.org>
List: tech-kern
Date: 12/16/2005 14:29:58
--Signature_Fri__16_Dec_2005_14_29_58_-0500_enuUu6QbW=CHy+XQ
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

Hello,

> > Looks like I just lucked out and my drives spun up on their
> > own ( see other mail, I could reproduce the panic on macppc ).
> > Anyway, sending a START in this case should be more or less trivial.
>=20
> Yes, just insert the appropriate code into the error callback.

Ok, there's this in sd.c / sd_interpret_sense():

	/*
	 * If it isn't a extended or extended/deferred error, let
	 * the generic code handle it.
	 */
	if (SSD_RCODE(sense->response_code) !=3D SSD_RCODE_CURRENT &&
	    SSD_RCODE(sense->response_code) !=3D SSD_RCODE_DEFERRED)
		return (retval);

	if (SSD_SENSE_KEY(sense->flags) =3D=3D SKEY_NOT_READY &&
	    sense->asc =3D=3D 0x4) {

what follows is code to check if the disk needs to get started and if so
starts it. My uneducated guess is that sd_interpret_sense() either bails
out too early here or isn't called at all.

have fun
Michael

--Signature_Fri__16_Dec_2005_14_29_58_-0500_enuUu6QbW=CHy+XQ
Content-Type: application/pgp-signature

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

iQEVAwUBQ6MVtspnzkX8Yg2nAQLPhAf9EuhmdyAqLqm4Mc4F+jo3JLglmttteT6K
xSzIM8V6PmKhL7ab9QiepQUBDZgKD8vU7v77PVqj6qj8isE0cdQnhsX0lPORrbK0
2NSkHhUyM6pwL1jdnJQz3JQCq3RqZtXZr0umBH5a56QhSd0tOxbFvgfIZcVkbADH
KMuKMXnA+08x8pAM6b9Iijeah4sDLzVhCluqXbTdK2Vc3kw52Zuea4LIkKyNMG5y
0uP5sxaiDctTtj3fIgMWO4PL9NLAa9ua9WjQNfhFr8hmCuisrST/EFpuOr0e032Z
yH8Dl41kVm6E9WgS97foiS+qLYC7Ckdb9phB4v2WWQ2UoJfw8tS2KA==
=gaA2
-----END PGP SIGNATURE-----

--Signature_Fri__16_Dec_2005_14_29_58_-0500_enuUu6QbW=CHy+XQ--