Skip site navigation (1)Skip section navigation (2)
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> 

next in thread | previous in thread | raw e-mail | index | archive | help
> 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




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