Date: Mon, 06 Mar 2000 17:58:21 -0800 From: Mike Smith <msmith@freebsd.org> To: "Kenneth D. Merry" <ken@kdm.org> Cc: Mike Smith <msmith@FreeBSD.ORG>, scsi@FreeBSD.ORG, gibbs@FreeBSD.ORG Subject: Re: chio trap with not-ready changer Message-ID: <200003070158.RAA03274@mass.cdrom.com> In-Reply-To: Your message of "Sat, 04 Mar 2000 16:10:54 MST." <20000304161054.A61108@panzer.kdm.org>
index | next in thread | previous in thread | raw e-mail
> Oooh, I think I know what may be going on here. I suspect you're hitting
> the following case in cam_periph_error():
>
> } else {
> /* decrement the number of retries */
> retry = ccb->ccb_h.retry_count > 0;
> if (retry)
> ccb->ccb_h.retry_count--;
> /*
> * If it was aborted with no
> * clue as to the reason, just
> * retry it again.
> */
> error = ERESTART;
> }
>
> You hit that when there is a SCSI error, but autosense failed, and there
> are still retries left.
Sorry; doesn't look like it. Some simple printf tracing suggests that
it's actually the CAM_SCSI_STATUS_ERROR/CAM_STATUS_BUSY case that's
getting called. That'd also explain the 1s delay between commands.
Not sure yet why it's not "just working" after the unit comes ready - I'm
guessing that's because we don't send two TUR's in sequence.
Shouldn't we spin using TUR if the unit's not ready, until it does become
ready?
--
\\ Give a man a fish, and you feed him for a day. \\ Mike Smith
\\ Tell him he should learn how to fish himself, \\ msmith@freebsd.org
\\ and he'll hate you for a lifetime. \\ msmith@cdrom.com
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-scsi" in the body of the message
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200003070158.RAA03274>
