Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 05 Aug 1997 02:14:49 -0600
From:      "Justin T. Gibbs" <gibbs@plutotech.com>
To:        asami@cs.berkeley.edu (Satoshi Asami)
Cc:        gibbs@plutotech.com, scsi@FreeBSD.ORG
Subject:   Re: NOT READY 
Message-ID:  <199708050814.CAA00234@pluto.plutotech.com>
In-Reply-To: Your message of "Mon, 04 Aug 1997 23:24:54 PDT." <199708050624.XAA15599@silvia.HIP.Berkeley.EDU> 

next in thread | previous in thread | raw e-mail | index | archive | help
> * Unfortunately, I don't think it will work unless you poll
> * for completion since the error will be returned in an
> * interrupt context.
>
>Oh.  I thought I did what you said, but I have no clue as to what to
>do.  I just searched for "sense_handler" and "start_unit" in sd.c and
>tried to paste them together.  Can someone tell me some more about
>how to go about this?

Well, it isn't really obvious that what you did won't work. 8-)
The problem is that making it work in the current architecture is
quite tough.  I think that the best approach to try first, before
attempting something fancier, is to perform a start unit with the
immediate bit set (you'll have to modify the sd_start routine and
the SCSI spec for which bit to set - bit 0 in the second byte I
think), then simply poll for completion (should be short since
you'll be telling it to return as soon as it starts the operation
instead of holding off until the spin completes).  Then you can
resubmit the original transaction which will probably wind up in
a loop hitting the "unit in process of becoming ready" code until
the spin up completes.  Any way you slice it though, you will end
up "hanging" the machine until the spin up completes.

--
Justin T. Gibbs
===========================================
  FreeBSD: Turning PCs into workstations
===========================================



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199708050814.CAA00234>