Date: Tue, 5 Aug 1997 07:49:16 -0400 (EDT) From: Peter Dufault <dufault@hda.com> To: asami@cs.berkeley.edu (Satoshi Asami) Cc: scsi@freebsd.org Subject: Re: NOT READY Message-ID: <199708051149.HAA18841@hda.hda.com> In-Reply-To: <199708050302.UAA21425@silvia.HIP.Berkeley.EDU> from Satoshi Asami at "Aug 4, 97 08:02:56 pm"
next in thread | previous in thread | raw e-mail | index | archive | help
> + scsi_start_unit(xs->sc_link, SCSI_ERR_OK | SCSI_SILENT); > + DELAY(5000000); This is a five second busy wait and will hang the system. You're in a done interrupt at this point so you can't sleep. I think a "SCSIRET_TRANSACTION_CONTINUES" up in scsi_base could be added so that this interrupt thread would go away without signalling any completion and then finish up this transaction up when the spliced in command completed. It would take some work to do properly and test. Try returning without the DELAY and hope the code that retries forever when something "is becoming ready" kicks in. It will still poll but at least it will stop as soon as it is ready. -- Peter Dufault (dufault@hda.com) Realtime development, Machine control, HD Associates, Inc. Safety critical systems, Agency approval
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199708051149.HAA18841>